Changeset 76175 in webkit


Ignore:
Timestamp:
Jan 19, 2011 3:45:51 PM (13 years ago)
Author:
Martin Robinson
Message:

2011-01-11 Martin Robinson <mrobinson@igalia.com>

Reviewed by Gustavo Noronha Silva.

[GTK] Move toggle button rendering out of gtk2drawing.c
https://bugs.webkit.org/show_bug.cgi?id=52258

Updated results. The metrics of checkboxes and radio buttons have changed,
because the focus rect is no longer considered to be part of the button.

  • platform/gtk/fast/css/non-standard-checkbox-size-expected.txt
  • platform/gtk/fast/forms/001-expected.txt:
  • platform/gtk/fast/forms/basic-inputs-expected.txt:
  • platform/gtk/fast/forms/box-shadow-override-expected.txt:
  • platform/gtk/fast/forms/checkbox-radio-onchange-expected.txt:
  • platform/gtk/fast/forms/file-input-disabled-expected.txt:
  • platform/gtk/fast/forms/form-element-geometry-expected.txt:
  • platform/gtk/fast/forms/formmove-expected.txt:
  • platform/gtk/fast/forms/formmove2-expected.txt:
  • platform/gtk/fast/forms/indeterminate-expected.txt:
  • platform/gtk/fast/forms/input-appearance-height-expected.txt:
  • platform/gtk/fast/forms/input-value-expected.txt:
  • platform/gtk/fast/forms/radio-attr-order-expected.txt:
  • platform/gtk/fast/forms/radio-nested-labels-expected.txt:
  • platform/gtk/fast/forms/radio_checked-expected.txt:
  • platform/gtk/fast/forms/radio_checked_dynamic-expected.txt:

2011-01-11 Martin Robinson <mrobinson@igalia.com>

Reviewed by Gustavo Noronha Silva.

[GTK] Move toggle button rendering out of gtk2drawing.c
https://bugs.webkit.org/show_bug.cgi?id=52258

  • platform/gtk/RenderThemeGtk.h:
  • platform/gtk/RenderThemeGtk2.cpp: (WebCore::RenderThemeGtk::platformInit): Initialize new button members. (WebCore::adjustRectForFocus): Added this function which inflates a rect based on a widget's exterior focus. (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus. (WebCore::setToggleSize): Only listen to indicator-size to properly size checkboxes and radio buttons. (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly. (WebCore::paintToggle): Added. (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle. (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly. (WebCore::RenderThemeGtk::paintRadio): Call paintToggle. (WebCore::RenderThemeGtk::gtkRadioButton): Added. (WebCore::RenderThemeGtk::gtkCheckButton): Added.
  • platform/gtk/WidgetRenderingContext.cpp: (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space variable. This is good enough for all themes that I've tested and prevents having to pass information from RenderThemeGtk about every single type of widget. (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect to draw instead of m_paintRect. This is important when we're painting something that isn't the size of the total rect. (WebCore::WidgetRenderingContext::gtkPaintCheck): Added. (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
  • platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
  • platform/gtk/gtkdrawing.h: Remove newly unused code.
  • platform/gtk/gtk2drawing.c: Ditto.
Location:
trunk
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r76172 r76175  
     12011-01-11  Martin Robinson  <mrobinson@igalia.com>
     2
     3        Reviewed by Gustavo Noronha Silva.
     4
     5        [GTK] Move toggle button rendering out of gtk2drawing.c
     6        https://bugs.webkit.org/show_bug.cgi?id=52258
     7
     8        Updated results. The metrics of checkboxes and radio buttons have changed,
     9        because the focus rect is no longer considered to be part of the button.
     10
     11        * platform/gtk/fast/css/non-standard-checkbox-size-expected.txt
     12        * platform/gtk/fast/forms/001-expected.txt:
     13        * platform/gtk/fast/forms/basic-inputs-expected.txt:
     14        * platform/gtk/fast/forms/box-shadow-override-expected.txt:
     15        * platform/gtk/fast/forms/checkbox-radio-onchange-expected.txt:
     16        * platform/gtk/fast/forms/file-input-disabled-expected.txt:
     17        * platform/gtk/fast/forms/form-element-geometry-expected.txt:
     18        * platform/gtk/fast/forms/formmove-expected.txt:
     19        * platform/gtk/fast/forms/formmove2-expected.txt:
     20        * platform/gtk/fast/forms/indeterminate-expected.txt:
     21        * platform/gtk/fast/forms/input-appearance-height-expected.txt:
     22        * platform/gtk/fast/forms/input-value-expected.txt:
     23        * platform/gtk/fast/forms/radio-attr-order-expected.txt:
     24        * platform/gtk/fast/forms/radio-nested-labels-expected.txt:
     25        * platform/gtk/fast/forms/radio_checked-expected.txt:
     26        * platform/gtk/fast/forms/radio_checked_dynamic-expected.txt:
     27
    1282011-01-19  Martin Robinson  <mrobinson@igalia.com>
    229
  • trunk/LayoutTests/platform/gtk/fast/css/non-standard-checkbox-size-expected.txt

    r71405 r76175  
    66      RenderText {#text} at (0,36) size 289x19
    77        text run at (0,36) width 289: "The following inputs should not be stretched. "
    8       RenderBlock {INPUT} at (293,3) size 15x50
    9       RenderText {#text} at (312,36) size 4x19
    10         text run at (312,36) width 4: " "
    11       RenderBlock {INPUT} at (320,3) size 15x50
     8      RenderBlock {INPUT} at (293,3) size 13x50
     9      RenderText {#text} at (310,36) size 4x19
     10        text run at (310,36) width 4: " "
     11      RenderBlock {INPUT} at (318,3) size 13x50
    1212      RenderText {#text} at (0,0) size 0x0
  • trunk/LayoutTests/platform/gtk/fast/forms/001-expected.txt

    r71410 r76175  
    2020          RenderTableSection {TBODY} at (2,2) size 780x20
    2121            RenderTableRow {TR} at (0,0) size 780x20
    22               RenderTableCell {TD} at (0,0) size 25x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    23                 RenderBlock {INPUT} at (5,4) size 15x12
    24               RenderTableCell {TD} at (25,9) size 755x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     22              RenderTableCell {TD} at (0,0) size 23x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     23                RenderBlock {INPUT} at (5,4) size 13x12
     24              RenderTableCell {TD} at (23,9) size 757x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    2525      RenderBlock {P} at (0,200) size 784x24
    2626        RenderTable {TABLE} at (0,0) size 784x24 [border: (2px outset #808080)]
    2727          RenderTableSection {TBODY} at (2,2) size 780x20
    2828            RenderTableRow {TR} at (0,0) size 780x20
    29               RenderTableCell {TD} at (0,0) size 25x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
    30                 RenderBlock {INPUT} at (5,4) size 15x12
    31               RenderTableCell {TD} at (25,9) size 755x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
     29              RenderTableCell {TD} at (0,0) size 23x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
     30                RenderBlock {INPUT} at (5,4) size 13x12
     31              RenderTableCell {TD} at (23,9) size 757x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
    3232      RenderBlock {P} at (0,240) size 784x38
    3333        RenderTable {TABLE} at (0,0) size 784x38 [border: (2px outset #808080)]
  • trunk/LayoutTests/platform/gtk/fast/forms/basic-inputs-expected.txt

    r73128 r76175  
    4949        RenderText {#text} at (199,64) size 8x19
    5050          text run at (199,64) width 8: "b"
    51       RenderBlock {DIV} at (10,432) size 450x23 [border: (1px solid #FF0000)]
    52         RenderText {#text} at (1,2) size 7x19
    53           text run at (1,2) width 7: "a"
    54         RenderBlock {INPUT} at (12,4) size 15x15
    55         RenderText {#text} at (31,2) size 65x19
    56           text run at (31,2) width 65: "checkbox "
    57         RenderBlock {INPUT} at (100,4) size 15x15
    58         RenderText {#text} at (119,2) size 8x19
    59           text run at (119,2) width 8: "b"
    60       RenderBlock {DIV} at (10,465) size 450x23 [border: (1px solid #FF0000)]
    61         RenderText {#text} at (1,2) size 7x19
    62           text run at (1,2) width 7: "a"
    63         RenderBlock {INPUT} at (12,4) size 15x15
    64         RenderText {#text} at (31,2) size 36x19
    65           text run at (31,2) width 36: "radio "
    66         RenderBlock {INPUT} at (71,4) size 15x15
    67         RenderText {#text} at (90,2) size 8x19
    68           text run at (90,2) width 8: "b"
     51      RenderBlock {DIV} at (10,432) size 450x22 [border: (1px solid #FF0000)]
     52        RenderText {#text} at (1,1) size 7x19
     53          text run at (1,1) width 7: "a"
     54        RenderBlock {INPUT} at (12,5) size 13x13
     55        RenderText {#text} at (29,1) size 65x19
     56          text run at (29,1) width 65: "checkbox "
     57        RenderBlock {INPUT} at (98,5) size 13x13
     58        RenderText {#text} at (115,1) size 8x19
     59          text run at (115,1) width 8: "b"
     60      RenderBlock {DIV} at (10,464) size 450x22 [border: (1px solid #FF0000)]
     61        RenderText {#text} at (1,1) size 7x19
     62          text run at (1,1) width 7: "a"
     63        RenderBlock {INPUT} at (12,5) size 13x13
     64        RenderText {#text} at (29,1) size 36x19
     65          text run at (29,1) width 36: "radio "
     66        RenderBlock {INPUT} at (69,5) size 13x13
     67        RenderText {#text} at (86,1) size 8x19
     68          text run at (86,1) width 8: "b"
    6969layer at (31,347) size 188x19 scrollWidth 215
    7070  RenderBlock {DIV} at (3,3) size 188x19
  • trunk/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.txt

    r73598 r76175  
    2929        RenderText {#text} at (0,0) size 0x0
    3030      RenderBlock (anonymous) at (0,157) size 784x37
    31         RenderBlock {INPUT} at (4,12) size 15x15
    32         RenderText {#text} at (23,10) size 4x19
    33           text run at (23,10) width 4: " "
    34         RenderBlock {INPUT} at (31,12) size 15x15
    35         RenderText {#text} at (50,10) size 4x19
    36           text run at (50,10) width 4: " "
    37         RenderSlider {INPUT} at (56,11) size 129x14 [bgcolor=#FFFFFF]
     31        RenderBlock {INPUT} at (4,14) size 13x13
     32        RenderText {#text} at (21,10) size 4x19
     33          text run at (21,10) width 4: " "
     34        RenderBlock {INPUT} at (29,14) size 13x13
     35        RenderText {#text} at (46,10) size 4x19
     36          text run at (46,10) width 4: " "
     37        RenderSlider {INPUT} at (52,11) size 129x14 [bgcolor=#FFFFFF]
    3838          RenderBlock {DIV} at (49,0) size 31x14
    39         RenderText {#text} at (187,10) size 4x19
    40           text run at (187,10) width 4: " "
    41         RenderFileUploadControl {INPUT} at (193,6) size 306x28 "(None)"
     39        RenderText {#text} at (183,10) size 4x19
     40          text run at (183,10) width 4: " "
     41        RenderFileUploadControl {INPUT} at (189,6) size 306x28 "(None)"
    4242          RenderButton {INPUT} at (0,0) size 103x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
    4343            RenderBlock (anonymous) at (8,4) size 87x19
    4444              RenderText at (0,0) size 87x19
    4545                text run at (0,0) width 87: "Choose File"
    46         RenderText {#text} at (501,10) size 4x19
    47           text run at (501,10) width 4: " "
    48         RenderButton {INPUT} at (507,2) size 74x33 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
     46        RenderText {#text} at (497,10) size 4x19
     47          text run at (497,10) width 4: " "
     48        RenderButton {INPUT} at (503,2) size 74x33 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
    4949          RenderBlock (anonymous) at (8,4) size 58x24
    5050            RenderText at (0,0) size 58x24
    5151              text run at (0,0) width 58: "Button"
    52         RenderText {#text} at (583,10) size 4x19
    53           text run at (583,10) width 4: " "
    54         RenderButton {INPUT} at (589,6) size 62x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
     52        RenderText {#text} at (579,10) size 4x19
     53          text run at (579,10) width 4: " "
     54        RenderButton {INPUT} at (585,6) size 62x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
    5555          RenderBlock (anonymous) at (8,4) size 46x19
    5656            RenderText at (0,0) size 46x19
    5757              text run at (0,0) width 46: "Button"
    58         RenderText {#text} at (653,10) size 4x19
    59           text run at (653,10) width 4: " "
    60         RenderButton {INPUT} at (657,16) size 30x16 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
     58        RenderText {#text} at (649,10) size 4x19
     59          text run at (649,10) width 4: " "
     60        RenderButton {INPUT} at (653,16) size 30x16 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
    6161          RenderBlock (anonymous) at (8,4) size 14x7
    6262            RenderText at (0,0) size 14x7
    6363              text run at (0,0) width 14: "Button"
    64         RenderText {#text} at (687,10) size 4x19
    65           text run at (687,10) width 4: " "
    66         RenderButton {BUTTON} at (693,2) size 74x33 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
     64        RenderText {#text} at (683,10) size 4x19
     65          text run at (683,10) width 4: " "
     66        RenderButton {BUTTON} at (689,2) size 74x33 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
    6767          RenderBlock (anonymous) at (8,4) size 58x24
    6868            RenderText {#text} at (0,0) size 58x24
  • trunk/LayoutTests/platform/gtk/fast/forms/checkbox-radio-onchange-expected.txt

    r71405 r76175  
    44  RenderBlock {HTML} at (0,0) size 800x600
    55    RenderBody {BODY} at (8,8) size 784x584
    6       RenderBlock (anonymous) at (0,0) size 784x40
     6      RenderBlock (anonymous) at (0,0) size 784x39
    77        RenderText {#text} at (0,0) size 364x19
    88          text run at (0,0) width 364: "This is to test onchange of checkboxes and radio buttons. "
    99        RenderBR {BR} at (364,15) size 0x0
    10         RenderBlock {INPUT} at (4,22) size 15x15
    11         RenderText {#text} at (23,20) size 65x19
    12           text run at (23,20) width 65: "Checkbox"
    13       RenderBlock {DIV} at (0,40) size 784x19
     10        RenderBlock {INPUT} at (4,23) size 13x13
     11        RenderText {#text} at (21,19) size 65x19
     12          text run at (21,19) width 65: "Checkbox"
     13      RenderBlock {DIV} at (0,39) size 784x19
    1414        RenderText {#text} at (0,0) size 321x19
    1515          text run at (0,0) width 321: "Test 1 Passed. onChange event fired for checkbox."
    16       RenderBlock (anonymous) at (0,59) size 784x21
    17         RenderBlock {INPUT} at (4,3) size 15x15
    18         RenderText {#text} at (23,1) size 54x19
    19           text run at (23,1) width 54: "Radio 1 "
    20         RenderBlock {INPUT} at (81,3) size 15x15
    21         RenderText {#text} at (100,1) size 50x19
    22           text run at (100,1) width 50: "Radio 2"
    23       RenderBlock {DIV} at (0,80) size 784x19
     16      RenderBlock (anonymous) at (0,58) size 784x20
     17        RenderBlock {INPUT} at (4,4) size 13x13
     18        RenderText {#text} at (21,0) size 54x19
     19          text run at (21,0) width 54: "Radio 1 "
     20        RenderBlock {INPUT} at (79,4) size 13x13
     21        RenderText {#text} at (96,0) size 50x19
     22          text run at (96,0) width 50: "Radio 2"
     23      RenderBlock {DIV} at (0,78) size 784x19
    2424        RenderText {#text} at (0,0) size 336x19
    2525          text run at (0,0) width 336: "Test 2 Passed. onChange event fired for radio button."
  • trunk/LayoutTests/platform/gtk/fast/forms/file-input-disabled-expected.txt

    r71405 r76175  
    44  RenderBlock {HTML} at (0,0) size 800x600
    55    RenderBody {BODY} at (8,8) size 784x576
    6       RenderBlock {FORM} at (0,0) size 784x72
    7         RenderBlock (anonymous) at (0,0) size 784x72
    8           RenderBlock {INPUT} at (4,3) size 15x15
     6      RenderBlock {FORM} at (0,0) size 784x71
     7        RenderBlock (anonymous) at (0,0) size 784x71
     8          RenderBlock {INPUT} at (4,4) size 13x13
    99          RenderInline {B} at (0,0) size 75x19
    10             RenderText {#text} at (23,1) size 75x19
    11               text run at (23,1) width 75: "Attach File"
    12           RenderBR {BR} at (98,16) size 0x0
    13           RenderBR {BR} at (0,21) size 0x19
    14           RenderText {#text} at (0,46) size 86x19
    15             text run at (0,46) width 86: "  Select File:  "
    16           RenderFileUploadControl {INPUT} at (88,42) size 306x28 "(None)"
     10            RenderText {#text} at (21,0) size 75x19
     11              text run at (21,0) width 75: "Attach File"
     12          RenderBR {BR} at (96,15) size 0x0
     13          RenderBR {BR} at (0,20) size 0x19
     14          RenderText {#text} at (0,45) size 86x19
     15            text run at (0,45) width 86: "  Select File:  "
     16          RenderFileUploadControl {INPUT} at (88,41) size 306x28 "(None)"
    1717            RenderButton {INPUT} at (0,0) size 103x28 [color=#808080] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
    1818              RenderBlock (anonymous) at (8,4) size 87x19
    1919                RenderText at (0,0) size 87x19
    2020                  text run at (0,0) width 87: "Choose File"
    21           RenderBR {BR} at (396,61) size 0x0
    22         RenderTable {TABLE} at (0,72) size 4x0
     21          RenderBR {BR} at (396,60) size 0x0
     22        RenderTable {TABLE} at (0,71) size 4x0
  • trunk/LayoutTests/platform/gtk/fast/forms/form-element-geometry-expected.txt

    r75016 r76175  
    1313        RenderText {#text} at (0,0) size 165x28
    1414          text run at (0,0) width 165: "Bounding Boxes"
    15       RenderTable {TABLE} at (0,143) size 187x38
    16         RenderTableSection {TBODY} at (0,0) size 187x38
    17           RenderTableRow {TR} at (0,2) size 187x34
     15      RenderTable {TABLE} at (0,143) size 183x38
     16        RenderTableSection {TBODY} at (0,0) size 183x38
     17          RenderTableRow {TR} at (0,2) size 183x34
    1818            RenderTableCell {TD} at (2,2) size 66x34 [r=0 c=0 rs=1 cs=1]
    1919              RenderBlock {DIV} at (1,1) size 64x32 [border: (2px solid #0000FF)]
     
    3030                      RenderText at (2,2) size 40x19
    3131                        text run at (2,2) width 40: "menu"
    32             RenderTableCell {TD} at (141,8) size 21x21 [r=0 c=2 rs=1 cs=1]
    33               RenderBlock {DIV} at (1,1) size 19x19 [border: (2px solid #0000FF)]
    34                 RenderInline {FONT} at (0,0) size 15x28
    35                   RenderBlock {INPUT} at (2,2) size 15x15
    36             RenderTableCell {TD} at (164,8) size 21x21 [r=0 c=3 rs=1 cs=1]
    37               RenderBlock {DIV} at (1,1) size 19x19 [border: (2px solid #0000FF)]
    38                 RenderInline {FONT} at (0,0) size 15x28
    39                   RenderBlock {INPUT} at (2,2) size 15x15
    40       RenderTable {TABLE} at (0,181) size 187x38
    41         RenderTableSection {TBODY} at (0,0) size 187x38
    42           RenderTableRow {TR} at (0,2) size 187x34
     32            RenderTableCell {TD} at (141,9) size 19x19 [r=0 c=2 rs=1 cs=1]
     33              RenderBlock {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
     34                RenderInline {FONT} at (0,0) size 13x28
     35                  RenderBlock {INPUT} at (2,2) size 13x13
     36            RenderTableCell {TD} at (162,9) size 19x19 [r=0 c=3 rs=1 cs=1]
     37              RenderBlock {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
     38                RenderInline {FONT} at (0,0) size 13x28
     39                  RenderBlock {INPUT} at (2,2) size 13x13
     40      RenderTable {TABLE} at (0,181) size 183x38
     41        RenderTableSection {TBODY} at (0,0) size 183x38
     42          RenderTableRow {TR} at (0,2) size 183x34
    4343            RenderTableCell {TD} at (2,2) size 66x34 [r=0 c=0 rs=1 cs=1]
    4444              RenderBlock {DIV} at (1,1) size 64x32 [border: (2px solid #0000FF)]
     
    5353                    RenderText at (2,2) size 40x19
    5454                      text run at (2,2) width 40: "menu"
    55             RenderTableCell {TD} at (141,8) size 21x21 [r=0 c=2 rs=1 cs=1]
    56               RenderBlock {DIV} at (1,1) size 19x19 [border: (2px solid #0000FF)]
    57                 RenderBlock {INPUT} at (2,2) size 15x15
    58             RenderTableCell {TD} at (164,8) size 21x21 [r=0 c=3 rs=1 cs=1]
    59               RenderBlock {DIV} at (1,1) size 19x19 [border: (2px solid #0000FF)]
    60                 RenderBlock {INPUT} at (2,2) size 15x15
    61       RenderTable {TABLE} at (0,219) size 187x38
    62         RenderTableSection {TBODY} at (0,0) size 187x38
    63           RenderTableRow {TR} at (0,2) size 187x34
     55            RenderTableCell {TD} at (141,9) size 19x19 [r=0 c=2 rs=1 cs=1]
     56              RenderBlock {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
     57                RenderBlock {INPUT} at (2,2) size 13x13
     58            RenderTableCell {TD} at (162,9) size 19x19 [r=0 c=3 rs=1 cs=1]
     59              RenderBlock {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
     60                RenderBlock {INPUT} at (2,2) size 13x13
     61      RenderTable {TABLE} at (0,219) size 183x38
     62        RenderTableSection {TBODY} at (0,0) size 183x38
     63          RenderTableRow {TR} at (0,2) size 183x34
    6464            RenderTableCell {TD} at (2,2) size 66x34 [r=0 c=0 rs=1 cs=1]
    6565              RenderBlock {DIV} at (1,1) size 64x32 [border: (2px solid #0000FF)]
     
    7676                      RenderText at (2,2) size 40x19
    7777                        text run at (2,2) width 40: "menu"
    78             RenderTableCell {TD} at (141,8) size 21x21 [r=0 c=2 rs=1 cs=1]
    79               RenderBlock {DIV} at (1,1) size 19x19 [border: (2px solid #0000FF)]
    80                 RenderInline {FONT} at (0,0) size 15x12
    81                   RenderBlock {INPUT} at (2,2) size 15x15
    82             RenderTableCell {TD} at (164,8) size 21x21 [r=0 c=3 rs=1 cs=1]
    83               RenderBlock {DIV} at (1,1) size 19x19 [border: (2px solid #0000FF)]
    84                 RenderInline {FONT} at (0,0) size 15x12
    85                   RenderBlock {INPUT} at (2,2) size 15x15
     78            RenderTableCell {TD} at (141,9) size 19x19 [r=0 c=2 rs=1 cs=1]
     79              RenderBlock {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
     80                RenderInline {FONT} at (0,0) size 13x12
     81                  RenderBlock {INPUT} at (2,2) size 13x13
     82            RenderTableCell {TD} at (162,9) size 19x19 [r=0 c=3 rs=1 cs=1]
     83              RenderBlock {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
     84                RenderInline {FONT} at (0,0) size 13x12
     85                  RenderBlock {INPUT} at (2,2) size 13x13
    8686      RenderTable {TABLE} at (0,257) size 692x91
    8787        RenderTableSection {TBODY} at (0,0) size 692x91
     
    106106          text run at (0,0) width 200: "Baseline Alignment"
    107107      RenderBlock {DIV} at (0,414) size 765x33
    108         RenderInline {FONT} at (0,0) size 238x28
     108        RenderInline {FONT} at (0,0) size 234x28
    109109          RenderText {#text} at (0,0) size 43x28
    110110            text run at (0,0) width 43: "text "
     
    121121          RenderText {#text} at (180,0) size 6x28
    122122            text run at (180,0) width 6: " "
    123           RenderBlock {INPUT} at (190,9) size 15x15
    124           RenderText {#text} at (209,0) size 6x28
    125             text run at (209,0) width 6: " "
    126           RenderBlock {INPUT} at (219,9) size 15x15
     123          RenderBlock {INPUT} at (190,11) size 13x13
     124          RenderText {#text} at (207,0) size 6x28
     125            text run at (207,0) width 6: " "
     126          RenderBlock {INPUT} at (217,11) size 13x13
    127127          RenderText {#text} at (0,0) size 0x0
    128128      RenderBlock {DIV} at (0,447) size 765x32
     
    141141        RenderText {#text} at (162,6) size 4x19
    142142          text run at (162,6) width 4: " "
    143         RenderBlock {INPUT} at (170,8) size 15x15
    144         RenderText {#text} at (189,6) size 4x19
    145           text run at (189,6) width 4: " "
    146         RenderBlock {INPUT} at (197,8) size 15x15
     143        RenderBlock {INPUT} at (170,10) size 13x13
     144        RenderText {#text} at (187,6) size 4x19
     145          text run at (187,6) width 4: " "
     146        RenderBlock {INPUT} at (195,10) size 13x13
    147147        RenderText {#text} at (0,0) size 0x0
    148148      RenderBlock {DIV} at (0,479) size 765x32
    149         RenderInline {FONT} at (0,0) size 204x12
     149        RenderInline {FONT} at (0,0) size 200x12
    150150          RenderText {#text} at (0,12) size 18x12
    151151            text run at (0,12) width 18: "text "
     
    162162          RenderText {#text} at (152,12) size 3x12
    163163            text run at (152,12) width 3: " "
    164           RenderBlock {INPUT} at (159,8) size 15x15
    165           RenderText {#text} at (178,12) size 3x12
    166             text run at (178,12) width 3: " "
    167           RenderBlock {INPUT} at (185,8) size 15x15
     164          RenderBlock {INPUT} at (159,10) size 13x13
     165          RenderText {#text} at (176,12) size 3x12
     166            text run at (176,12) width 3: " "
     167          RenderBlock {INPUT} at (183,10) size 13x13
    168168          RenderText {#text} at (0,0) size 0x0
    169169      RenderBlock {DIV} at (0,511) size 765x59
  • trunk/LayoutTests/platform/gtk/fast/forms/formmove-expected.txt

    r71405 r76175  
    44  RenderBlock {HTML} at (0,0) size 800x600
    55    RenderBody {BODY} at (8,8) size 784x584
    6       RenderBlock {FORM} at (0,0) size 784x21
    7         RenderBlock {INPUT} at (4,3) size 15x15
    8         RenderText {#text} at (23,1) size 34x19
    9           text run at (23,1) width 34: "Two "
    10         RenderBlock {INPUT} at (61,3) size 15x15
    11         RenderText {#text} at (80,1) size 37x19
    12           text run at (80,1) width 37: "Three"
    13       RenderBlock {FORM} at (0,37) size 784x21
    14         RenderBlock {INPUT} at (4,3) size 15x15
    15         RenderText {#text} at (23,1) size 31x19
    16           text run at (23,1) width 31: "One "
    17         RenderBlock {INPUT} at (58,3) size 15x15
    18         RenderText {#text} at (77,1) size 34x19
    19           text run at (77,1) width 34: "Two "
    20         RenderBlock {INPUT} at (115,3) size 15x15
    21         RenderText {#text} at (134,1) size 41x19
    22           text run at (134,1) width 41: "Three "
    23         RenderBlock {INPUT} at (179,3) size 15x15
    24         RenderText {#text} at (198,1) size 27x19
    25           text run at (198,1) width 27: "One"
    26       RenderBlock (anonymous) at (0,74) size 784x38
     6      RenderBlock {FORM} at (0,0) size 784x20
     7        RenderBlock {INPUT} at (4,4) size 13x13
     8        RenderText {#text} at (21,0) size 34x19
     9          text run at (21,0) width 34: "Two "
     10        RenderBlock {INPUT} at (59,4) size 13x13
     11        RenderText {#text} at (76,0) size 37x19
     12          text run at (76,0) width 37: "Three"
     13      RenderBlock {FORM} at (0,36) size 784x20
     14        RenderBlock {INPUT} at (4,4) size 13x13
     15        RenderText {#text} at (21,0) size 31x19
     16          text run at (21,0) width 31: "One "
     17        RenderBlock {INPUT} at (56,4) size 13x13
     18        RenderText {#text} at (73,0) size 34x19
     19          text run at (73,0) width 34: "Two "
     20        RenderBlock {INPUT} at (111,4) size 13x13
     21        RenderText {#text} at (128,0) size 41x19
     22          text run at (128,0) width 41: "Three "
     23        RenderBlock {INPUT} at (173,4) size 13x13
     24        RenderText {#text} at (190,0) size 27x19
     25          text run at (190,0) width 27: "One"
     26      RenderBlock (anonymous) at (0,72) size 784x38
    2727        RenderText {#text} at (0,0) size 766x38
    2828          text run at (0,0) width 505: "The count of the # of elements in form 1 should be 2 and in form 2 should be 4. "
  • trunk/LayoutTests/platform/gtk/fast/forms/formmove2-expected.txt

    r71405 r76175  
    44  RenderBlock {HTML} at (0,0) size 800x600
    55    RenderBody {BODY} at (8,8) size 784x584
    6       RenderBlock {FORM} at (0,0) size 784x21
    7         RenderBlock {INPUT} at (4,3) size 15x15
    8         RenderBlock {INPUT} at (27,3) size 15x15
    9       RenderBlock (anonymous) at (0,37) size 784x38
     6      RenderBlock {FORM} at (0,0) size 784x19
     7        RenderBlock {INPUT} at (4,3) size 13x13
     8        RenderBlock {INPUT} at (25,3) size 13x13
     9      RenderBlock (anonymous) at (0,35) size 784x38
    1010        RenderText {#text} at (0,0) size 777x38
    1111          text run at (0,0) width 777: "There should be two elements in the first form and one in the second. The count in form one is 2, and the count in form two"
  • trunk/LayoutTests/platform/gtk/fast/forms/indeterminate-expected.txt

    r71405 r76175  
    44  RenderBlock {HTML} at (0,0) size 800x600
    55    RenderBody {BODY} at (8,8) size 784x584
    6       RenderText {#text} at (23,1) size 491x19
    7         text run at (23,1) width 491: " This checkbox should look 50% transparent and should be in the mixed state."
     6      RenderText {#text} at (21,0) size 491x19
     7        text run at (21,0) width 491: " This checkbox should look 50% transparent and should be in the mixed state."
    88      RenderText {#text} at (0,0) size 0x0
    9 layer at (12,11) size 15x15
    10   RenderBlock {INPUT} at (4,3) size 15x15
     9layer at (12,12) size 13x13
     10  RenderBlock {INPUT} at (4,4) size 13x13
  • trunk/LayoutTests/platform/gtk/fast/forms/input-appearance-height-expected.txt

    r73598 r76175  
    77        RenderText {#text} at (0,0) size 762x19
    88          text run at (0,0) width 762: "This tests the height attribute of form elements. The only element that should honour this value is the Image type of input."
    9       RenderBlock {FORM} at (0,19) size 784x322
     9      RenderBlock {FORM} at (0,19) size 784x320
    1010        RenderText {#text} at (0,5) size 36x19
    1111          text run at (0,5) width 36: "input "
     
    2020          text run at (225,34) width 4: " "
    2121        RenderBR {BR} at (229,49) size 0x0
    22         RenderText {#text} at (0,59) size 65x19
    23           text run at (0,59) width 65: "checkbox "
    24         RenderBlock {INPUT} at (69,61) size 15x15
    25         RenderText {#text} at (88,59) size 4x19
    26           text run at (88,59) width 4: " "
    27         RenderBR {BR} at (92,74) size 0x0
    28         RenderText {#text} at (0,85) size 24x19
    29           text run at (0,85) width 24: "file "
    30         RenderFileUploadControl {INPUT} at (26,81) size 306x28 "(None)"
     22        RenderText {#text} at (0,58) size 65x19
     23          text run at (0,58) width 65: "checkbox "
     24        RenderBlock {INPUT} at (69,62) size 13x13
     25        RenderText {#text} at (86,58) size 4x19
     26          text run at (86,58) width 4: " "
     27        RenderBR {BR} at (90,73) size 0x0
     28        RenderText {#text} at (0,84) size 24x19
     29          text run at (0,84) width 24: "file "
     30        RenderFileUploadControl {INPUT} at (26,80) size 306x28 "(None)"
    3131          RenderButton {INPUT} at (0,0) size 103x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
    3232            RenderBlock (anonymous) at (8,4) size 87x19
    3333              RenderText at (0,0) size 87x19
    3434                text run at (0,0) width 87: "Choose File"
    35         RenderText {#text} at (334,85) size 4x19
    36           text run at (334,85) width 4: " "
    37         RenderBR {BR} at (338,100) size 0x0
    38         RenderText {#text} at (0,111) size 42x19
    39           text run at (0,111) width 42: "image "
    40         RenderImage {INPUT} at (42,125) size 10x1
    41         RenderText {#text} at (52,111) size 4x19
    42           text run at (52,111) width 4: " "
    43         RenderBR {BR} at (56,126) size 0x0
    44         RenderText {#text} at (0,131) size 36x19
    45           text run at (0,131) width 36: "radio "
    46         RenderBlock {INPUT} at (40,133) size 15x15
    47         RenderText {#text} at (59,131) size 4x19
    48           text run at (59,131) width 4: " "
    49         RenderBR {BR} at (63,146) size 0x0
    50         RenderText {#text} at (0,152) size 39x19
    51           text run at (0,152) width 39: "range "
    52         RenderSlider {INPUT} at (41,153) size 129x14 [bgcolor=#FFFFFF]
     35        RenderText {#text} at (334,84) size 4x19
     36          text run at (334,84) width 4: " "
     37        RenderBR {BR} at (338,99) size 0x0
     38        RenderText {#text} at (0,110) size 42x19
     39          text run at (0,110) width 42: "image "
     40        RenderImage {INPUT} at (42,124) size 10x1
     41        RenderText {#text} at (52,110) size 4x19
     42          text run at (52,110) width 4: " "
     43        RenderBR {BR} at (56,125) size 0x0
     44        RenderText {#text} at (0,129) size 36x19
     45          text run at (0,129) width 36: "radio "
     46        RenderBlock {INPUT} at (40,133) size 13x13
     47        RenderText {#text} at (57,129) size 4x19
     48          text run at (57,129) width 4: " "
     49        RenderBR {BR} at (61,144) size 0x0
     50        RenderText {#text} at (0,150) size 39x19
     51          text run at (0,150) width 39: "range "
     52        RenderSlider {INPUT} at (41,151) size 129x14 [bgcolor=#FFFFFF]
    5353          RenderBlock {DIV} at (49,0) size 31x14
    54         RenderText {#text} at (172,152) size 4x19
    55           text run at (172,152) width 4: " "
    56         RenderBR {BR} at (176,167) size 0x0
    57         RenderText {#text} at (0,177) size 33x19
    58           text run at (0,177) width 33: "reset "
    59         RenderButton {INPUT} at (35,173) size 58x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
     54        RenderText {#text} at (172,150) size 4x19
     55          text run at (172,150) width 4: " "
     56        RenderBR {BR} at (176,165) size 0x0
     57        RenderText {#text} at (0,175) size 33x19
     58          text run at (0,175) width 33: "reset "
     59        RenderButton {INPUT} at (35,171) size 58x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
    6060          RenderBlock (anonymous) at (8,4) size 42x19
    6161            RenderText at (0,0) size 42x19
    6262              text run at (0,0) width 42: "Reset"
    63         RenderText {#text} at (95,177) size 4x19
    64           text run at (95,177) width 4: " "
    65         RenderBR {BR} at (99,192) size 0x0
    66         RenderText {#text} at (0,209) size 46x19
    67           text run at (0,209) width 46: "submit "
    68         RenderButton {INPUT} at (48,205) size 66x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
     63        RenderText {#text} at (95,175) size 4x19
     64          text run at (95,175) width 4: " "
     65        RenderBR {BR} at (99,190) size 0x0
     66        RenderText {#text} at (0,207) size 46x19
     67          text run at (0,207) width 46: "submit "
     68        RenderButton {INPUT} at (48,203) size 66x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
    6969          RenderBlock (anonymous) at (8,4) size 50x19
    7070            RenderText at (0,0) size 50x19
    7171              text run at (0,0) width 50: "Submit"
    72         RenderText {#text} at (116,209) size 4x19
    73           text run at (116,209) width 4: " "
    74         RenderBR {BR} at (120,224) size 0x0
    75         RenderText {#text} at (0,240) size 49x19
    76           text run at (0,240) width 49: "isindex "
    77         RenderTextControl {INPUT} at (51,237) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    78         RenderText {#text} at (247,240) size 4x19
    79           text run at (247,240) width 4: " "
    80         RenderBR {BR} at (251,255) size 0x0
    81         RenderText {#text} at (0,269) size 64x19
    82           text run at (0,269) width 64: "password "
    83         RenderTextControl {INPUT} at (66,266) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    84         RenderText {#text} at (262,269) size 4x19
    85           text run at (262,269) width 4: " "
    86         RenderBR {BR} at (266,284) size 0x0
    87         RenderText {#text} at (0,298) size 44x19
    88           text run at (0,298) width 44: "search "
    89         RenderTextControl {INPUT} at (46,295) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     72        RenderText {#text} at (116,207) size 4x19
     73          text run at (116,207) width 4: " "
     74        RenderBR {BR} at (120,222) size 0x0
     75        RenderText {#text} at (0,238) size 49x19
     76          text run at (0,238) width 49: "isindex "
     77        RenderTextControl {INPUT} at (51,235) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     78        RenderText {#text} at (247,238) size 4x19
     79          text run at (247,238) width 4: " "
     80        RenderBR {BR} at (251,253) size 0x0
     81        RenderText {#text} at (0,267) size 64x19
     82          text run at (0,267) width 64: "password "
     83        RenderTextControl {INPUT} at (66,264) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     84        RenderText {#text} at (262,267) size 4x19
     85          text run at (262,267) width 4: " "
     86        RenderBR {BR} at (266,282) size 0x0
     87        RenderText {#text} at (0,296) size 44x19
     88          text run at (0,296) width 44: "search "
     89        RenderTextControl {INPUT} at (46,293) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    9090          RenderBlock {DIV} at (3,2) size 188x20
    9191            RenderBlock {DIV} at (0,16) size 0x0
     
    9696layer at (40,61) size 188x19
    9797  RenderBlock {DIV} at (3,3) size 188x19
    98 layer at (62,267) size 188x19
     98layer at (62,265) size 188x19
    9999  RenderBlock {DIV} at (3,3) size 188x19
    100 layer at (77,296) size 188x19
     100layer at (77,294) size 188x19
    101101  RenderBlock {DIV} at (3,3) size 188x19
    102 layer at (57,325) size 172x19
     102layer at (57,323) size 172x19
    103103  RenderBlock {DIV} at (0,1) size 172x19
  • trunk/LayoutTests/platform/gtk/fast/forms/input-value-expected.txt

    r73128 r76175  
    1 layer at (0,0) size 781x610
     1layer at (0,0) size 781x604
    22  RenderView at (0,0) size 781x600
    3 layer at (0,0) size 781x610
    4   RenderBlock {HTML} at (0,0) size 781x610
    5     RenderBody {BODY} at (8,8) size 765x586
     3layer at (0,0) size 781x604
     4  RenderBlock {HTML} at (0,0) size 781x604
     5    RenderBody {BODY} at (8,8) size 765x580
    66      RenderBlock {P} at (0,0) size 765x38
    77        RenderText {#text} at (0,0) size 750x38
     
    1212          text run at (0,0) width 713: "Results that match Gecko are like WinIE, but with \"before\" for the attribute in the first two rows and the last row."
    1313      RenderBlock {HR} at (0,89) size 765x2 [border: (1px inset #000000)]
    14       RenderBlock {FORM} at (0,99) size 765x487
    15         RenderTable {TABLE} at (0,0) size 765x487
     14      RenderBlock {FORM} at (0,99) size 765x481
     15        RenderTable {TABLE} at (0,0) size 765x481
    1616          RenderTableSection {THEAD} at (0,0) size 765x25
    1717            RenderTableRow {TR} at (0,2) size 765x21
     
    2828                RenderText {#text} at (1,1) size 59x19
    2929                  text run at (1,1) width 59: "attribute"
    30           RenderTableSection {TBODY} at (0,25) size 765x462
     30          RenderTableSection {TBODY} at (0,25) size 765x456
    3131            RenderTableRow {TR} at (0,2) size 765x31
    3232              RenderTableCell {TD} at (2,7) size 320x21 [r=0 c=0 rs=1 cs=1]
     
    5353                RenderText {#text} at (1,1) size 40x19
    5454                  text run at (1,1) width 40: "before"
    55             RenderTableRow {TR} at (0,68) size 765x23
    56               RenderTableCell {TD} at (2,69) size 320x21 [r=2 c=0 rs=1 cs=1]
     55            RenderTableRow {TR} at (0,68) size 765x21
     56              RenderTableCell {TD} at (2,68) size 320x21 [r=2 c=0 rs=1 cs=1]
    5757                RenderText {#text} at (1,1) size 249x19
    5858                  text run at (1,1) width 249: "check box with value property changed"
    59               RenderTableCell {TD} at (324,68) size 312x23 [r=2 c=1 rs=1 cs=1]
    60                 RenderBlock {INPUT} at (5,4) size 15x15
    61               RenderTableCell {TD} at (638,69) size 62x21 [r=2 c=2 rs=1 cs=1]
    62                 RenderText {#text} at (1,1) size 28x19
    63                   text run at (1,1) width 28: "after"
    64               RenderTableCell {TD} at (702,69) size 61x21 [r=2 c=3 rs=1 cs=1]
    65                 RenderText {#text} at (1,1) size 28x19
    66                   text run at (1,1) width 28: "after"
    67             RenderTableRow {TR} at (0,93) size 765x21
    68               RenderTableCell {TD} at (2,93) size 320x21 [r=3 c=0 rs=1 cs=1]
     59              RenderTableCell {TD} at (324,68) size 312x21 [r=2 c=1 rs=1 cs=1]
     60                RenderBlock {INPUT} at (5,4) size 13x13
     61              RenderTableCell {TD} at (638,68) size 62x21 [r=2 c=2 rs=1 cs=1]
     62                RenderText {#text} at (1,1) size 28x19
     63                  text run at (1,1) width 28: "after"
     64              RenderTableCell {TD} at (702,68) size 61x21 [r=2 c=3 rs=1 cs=1]
     65                RenderText {#text} at (1,1) size 28x19
     66                  text run at (1,1) width 28: "after"
     67            RenderTableRow {TR} at (0,91) size 765x21
     68              RenderTableCell {TD} at (2,91) size 320x21 [r=3 c=0 rs=1 cs=1]
    6969                RenderText {#text} at (1,1) size 227x19
    7070                  text run at (1,1) width 227: "hidden with value property changed"
    71               RenderTableCell {TD} at (324,102) size 312x2 [r=3 c=1 rs=1 cs=1]
    72               RenderTableCell {TD} at (638,93) size 62x21 [r=3 c=2 rs=1 cs=1]
    73                 RenderText {#text} at (1,1) size 28x19
    74                   text run at (1,1) width 28: "after"
    75               RenderTableCell {TD} at (702,93) size 61x21 [r=3 c=3 rs=1 cs=1]
    76                 RenderText {#text} at (1,1) size 28x19
    77                   text run at (1,1) width 28: "after"
    78             RenderTableRow {TR} at (0,116) size 765x34
    79               RenderTableCell {TD} at (2,122) size 320x21 [r=4 c=0 rs=1 cs=1]
     71              RenderTableCell {TD} at (324,100) size 312x2 [r=3 c=1 rs=1 cs=1]
     72              RenderTableCell {TD} at (638,91) size 62x21 [r=3 c=2 rs=1 cs=1]
     73                RenderText {#text} at (1,1) size 28x19
     74                  text run at (1,1) width 28: "after"
     75              RenderTableCell {TD} at (702,91) size 61x21 [r=3 c=3 rs=1 cs=1]
     76                RenderText {#text} at (1,1) size 28x19
     77                  text run at (1,1) width 28: "after"
     78            RenderTableRow {TR} at (0,114) size 765x34
     79              RenderTableCell {TD} at (2,120) size 320x21 [r=4 c=0 rs=1 cs=1]
    8080                RenderText {#text} at (1,1) size 224x19
    8181                  text run at (1,1) width 224: "button with value property changed"
    82               RenderTableCell {TD} at (324,116) size 312x34 [r=4 c=1 rs=1 cs=1]
     82              RenderTableCell {TD} at (324,114) size 312x34 [r=4 c=1 rs=1 cs=1]
    8383                RenderButton {INPUT} at (3,3) size 47x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
    8484                  RenderBlock (anonymous) at (8,4) size 31x19
    8585                    RenderText at (0,0) size 31x19
    8686                      text run at (0,0) width 31: "after"
    87               RenderTableCell {TD} at (638,122) size 62x21 [r=4 c=2 rs=1 cs=1]
    88                 RenderText {#text} at (1,1) size 28x19
    89                   text run at (1,1) width 28: "after"
    90               RenderTableCell {TD} at (702,122) size 61x21 [r=4 c=3 rs=1 cs=1]
    91                 RenderText {#text} at (1,1) size 28x19
    92                   text run at (1,1) width 28: "after"
    93             RenderTableRow {TR} at (0,152) size 765x21
    94               RenderTableCell {TD} at (2,152) size 320x21 [r=5 c=0 rs=1 cs=1]
     87              RenderTableCell {TD} at (638,120) size 62x21 [r=4 c=2 rs=1 cs=1]
     88                RenderText {#text} at (1,1) size 28x19
     89                  text run at (1,1) width 28: "after"
     90              RenderTableCell {TD} at (702,120) size 61x21 [r=4 c=3 rs=1 cs=1]
     91                RenderText {#text} at (1,1) size 28x19
     92                  text run at (1,1) width 28: "after"
     93            RenderTableRow {TR} at (0,150) size 765x21
     94              RenderTableCell {TD} at (2,150) size 320x21 [r=5 c=0 rs=1 cs=1]
    9595                RenderText {#text} at (1,1) size 222x19
    9696                  text run at (1,1) width 222: "image with value property changed"
    97               RenderTableCell {TD} at (324,152) size 312x21 [r=5 c=1 rs=1 cs=1]
     97              RenderTableCell {TD} at (324,150) size 312x21 [r=5 c=1 rs=1 cs=1]
    9898                RenderImage {INPUT} at (1,1) size 45x19
    99               RenderTableCell {TD} at (638,152) size 62x21 [r=5 c=2 rs=1 cs=1]
    100                 RenderText {#text} at (1,1) size 28x19
    101                   text run at (1,1) width 28: "after"
    102               RenderTableCell {TD} at (702,152) size 61x21 [r=5 c=3 rs=1 cs=1]
    103                 RenderText {#text} at (1,1) size 28x19
    104                   text run at (1,1) width 28: "after"
    105             RenderTableRow {TR} at (0,175) size 765x23
    106               RenderTableCell {TD} at (2,176) size 320x21 [r=6 c=0 rs=1 cs=1]
     99              RenderTableCell {TD} at (638,150) size 62x21 [r=5 c=2 rs=1 cs=1]
     100                RenderText {#text} at (1,1) size 28x19
     101                  text run at (1,1) width 28: "after"
     102              RenderTableCell {TD} at (702,150) size 61x21 [r=5 c=3 rs=1 cs=1]
     103                RenderText {#text} at (1,1) size 28x19
     104                  text run at (1,1) width 28: "after"
     105            RenderTableRow {TR} at (0,173) size 765x21
     106              RenderTableCell {TD} at (2,173) size 320x21 [r=6 c=0 rs=1 cs=1]
    107107                RenderText {#text} at (1,1) size 216x19
    108108                  text run at (1,1) width 216: "radio with value property changed"
    109               RenderTableCell {TD} at (324,175) size 312x23 [r=6 c=1 rs=1 cs=1]
    110                 RenderBlock {INPUT} at (5,4) size 15x15
    111               RenderTableCell {TD} at (638,176) size 62x21 [r=6 c=2 rs=1 cs=1]
    112                 RenderText {#text} at (1,1) size 28x19
    113                   text run at (1,1) width 28: "after"
    114               RenderTableCell {TD} at (702,176) size 61x21 [r=6 c=3 rs=1 cs=1]
    115                 RenderText {#text} at (1,1) size 28x19
    116                   text run at (1,1) width 28: "after"
    117             RenderTableRow {TR} at (0,200) size 765x31
    118               RenderTableCell {TD} at (2,205) size 320x21 [r=7 c=0 rs=1 cs=1]
     109              RenderTableCell {TD} at (324,173) size 312x21 [r=6 c=1 rs=1 cs=1]
     110                RenderBlock {INPUT} at (5,4) size 13x13
     111              RenderTableCell {TD} at (638,173) size 62x21 [r=6 c=2 rs=1 cs=1]
     112                RenderText {#text} at (1,1) size 28x19
     113                  text run at (1,1) width 28: "after"
     114              RenderTableCell {TD} at (702,173) size 61x21 [r=6 c=3 rs=1 cs=1]
     115                RenderText {#text} at (1,1) size 28x19
     116                  text run at (1,1) width 28: "after"
     117            RenderTableRow {TR} at (0,196) size 765x31
     118              RenderTableCell {TD} at (2,201) size 320x21 [r=7 c=0 rs=1 cs=1]
    119119                RenderText {#text} at (1,1) size 205x19
    120120                  text run at (1,1) width 205: "text with value attribute changed"
    121               RenderTableCell {TD} at (324,200) size 312x31 [r=7 c=1 rs=1 cs=1]
    122                 RenderTextControl {INPUT} at (3,3) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    123               RenderTableCell {TD} at (638,205) size 62x21 [r=7 c=2 rs=1 cs=1]
    124                 RenderText {#text} at (1,1) size 28x19
    125                   text run at (1,1) width 28: "after"
    126               RenderTableCell {TD} at (702,205) size 61x21 [r=7 c=3 rs=1 cs=1]
    127                 RenderText {#text} at (1,1) size 28x19
    128                   text run at (1,1) width 28: "after"
    129             RenderTableRow {TR} at (0,233) size 765x23
    130               RenderTableCell {TD} at (2,234) size 320x21 [r=8 c=0 rs=1 cs=1]
     121              RenderTableCell {TD} at (324,196) size 312x31 [r=7 c=1 rs=1 cs=1]
     122                RenderTextControl {INPUT} at (3,3) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     123              RenderTableCell {TD} at (638,201) size 62x21 [r=7 c=2 rs=1 cs=1]
     124                RenderText {#text} at (1,1) size 28x19
     125                  text run at (1,1) width 28: "after"
     126              RenderTableCell {TD} at (702,201) size 61x21 [r=7 c=3 rs=1 cs=1]
     127                RenderText {#text} at (1,1) size 28x19
     128                  text run at (1,1) width 28: "after"
     129            RenderTableRow {TR} at (0,229) size 765x21
     130              RenderTableCell {TD} at (2,229) size 320x21 [r=8 c=0 rs=1 cs=1]
    131131                RenderText {#text} at (1,1) size 247x19
    132132                  text run at (1,1) width 247: "check box with value attribute changed"
    133               RenderTableCell {TD} at (324,233) size 312x23 [r=8 c=1 rs=1 cs=1]
    134                 RenderBlock {INPUT} at (5,4) size 15x15
    135               RenderTableCell {TD} at (638,234) size 62x21 [r=8 c=2 rs=1 cs=1]
    136                 RenderText {#text} at (1,1) size 28x19
    137                   text run at (1,1) width 28: "after"
    138               RenderTableCell {TD} at (702,234) size 61x21 [r=8 c=3 rs=1 cs=1]
    139                 RenderText {#text} at (1,1) size 28x19
    140                   text run at (1,1) width 28: "after"
    141             RenderTableRow {TR} at (0,258) size 765x40
    142               RenderTableCell {TD} at (2,258) size 320x40 [r=9 c=0 rs=1 cs=1]
     133              RenderTableCell {TD} at (324,229) size 312x21 [r=8 c=1 rs=1 cs=1]
     134                RenderBlock {INPUT} at (5,4) size 13x13
     135              RenderTableCell {TD} at (638,229) size 62x21 [r=8 c=2 rs=1 cs=1]
     136                RenderText {#text} at (1,1) size 28x19
     137                  text run at (1,1) width 28: "after"
     138              RenderTableCell {TD} at (702,229) size 61x21 [r=8 c=3 rs=1 cs=1]
     139                RenderText {#text} at (1,1) size 28x19
     140                  text run at (1,1) width 28: "after"
     141            RenderTableRow {TR} at (0,252) size 765x40
     142              RenderTableCell {TD} at (2,252) size 320x40 [r=9 c=0 rs=1 cs=1]
    143143                RenderText {#text} at (1,1) size 314x38
    144144                  text run at (1,1) width 314: "text with value property changed, then turned into"
    145145                  text run at (1,20) width 65: "check box"
    146               RenderTableCell {TD} at (324,266) size 312x23 [r=9 c=1 rs=1 cs=1]
    147                 RenderBlock {INPUT} at (5,4) size 15x15
    148               RenderTableCell {TD} at (638,267) size 62x21 [r=9 c=2 rs=1 cs=1]
    149                 RenderText {#text} at (1,1) size 28x19
    150                   text run at (1,1) width 28: "after"
    151               RenderTableCell {TD} at (702,267) size 61x21 [r=9 c=3 rs=1 cs=1]
    152                 RenderText {#text} at (1,1) size 28x19
    153                   text run at (1,1) width 28: "after"
    154             RenderTableRow {TR} at (0,300) size 765x40
    155               RenderTableCell {TD} at (2,300) size 320x40 [r=10 c=0 rs=1 cs=1]
     146              RenderTableCell {TD} at (324,261) size 312x21 [r=9 c=1 rs=1 cs=1]
     147                RenderBlock {INPUT} at (5,4) size 13x13
     148              RenderTableCell {TD} at (638,261) size 62x21 [r=9 c=2 rs=1 cs=1]
     149                RenderText {#text} at (1,1) size 28x19
     150                  text run at (1,1) width 28: "after"
     151              RenderTableCell {TD} at (702,261) size 61x21 [r=9 c=3 rs=1 cs=1]
     152                RenderText {#text} at (1,1) size 28x19
     153                  text run at (1,1) width 28: "after"
     154            RenderTableRow {TR} at (0,294) size 765x40
     155              RenderTableCell {TD} at (2,294) size 320x40 [r=10 c=0 rs=1 cs=1]
    156156                RenderText {#text} at (1,1) size 284x38
    157157                  text run at (1,1) width 284: "check box with value property changed, then"
    158158                  text run at (1,20) width 95: "turned into text"
    159               RenderTableCell {TD} at (324,304) size 312x31 [r=10 c=1 rs=1 cs=1]
    160                 RenderTextControl {INPUT} at (3,3) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    161               RenderTableCell {TD} at (638,309) size 62x21 [r=10 c=2 rs=1 cs=1]
    162                 RenderText {#text} at (1,1) size 28x19
    163                   text run at (1,1) width 28: "after"
    164               RenderTableCell {TD} at (702,309) size 61x21 [r=10 c=3 rs=1 cs=1]
    165                 RenderText {#text} at (1,1) size 28x19
    166                   text run at (1,1) width 28: "after"
    167             RenderTableRow {TR} at (0,342) size 765x40
    168               RenderTableCell {TD} at (2,342) size 320x40 [r=11 c=0 rs=1 cs=1]
     159              RenderTableCell {TD} at (324,298) size 312x31 [r=10 c=1 rs=1 cs=1]
     160                RenderTextControl {INPUT} at (3,3) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     161              RenderTableCell {TD} at (638,303) size 62x21 [r=10 c=2 rs=1 cs=1]
     162                RenderText {#text} at (1,1) size 28x19
     163                  text run at (1,1) width 28: "after"
     164              RenderTableCell {TD} at (702,303) size 61x21 [r=10 c=3 rs=1 cs=1]
     165                RenderText {#text} at (1,1) size 28x19
     166                  text run at (1,1) width 28: "after"
     167            RenderTableRow {TR} at (0,336) size 765x40
     168              RenderTableCell {TD} at (2,336) size 320x40 [r=11 c=0 rs=1 cs=1]
    169169                RenderText {#text} at (1,1) size 312x38
    170170                  text run at (1,1) width 312: "text with value attribute changed, then turned into"
    171171                  text run at (1,20) width 65: "check box"
    172               RenderTableCell {TD} at (324,350) size 312x23 [r=11 c=1 rs=1 cs=1]
    173                 RenderBlock {INPUT} at (5,4) size 15x15
    174               RenderTableCell {TD} at (638,351) size 62x21 [r=11 c=2 rs=1 cs=1]
    175                 RenderText {#text} at (1,1) size 28x19
    176                   text run at (1,1) width 28: "after"
    177               RenderTableCell {TD} at (702,351) size 61x21 [r=11 c=3 rs=1 cs=1]
    178                 RenderText {#text} at (1,1) size 28x19
    179                   text run at (1,1) width 28: "after"
    180             RenderTableRow {TR} at (0,384) size 765x40
    181               RenderTableCell {TD} at (2,384) size 320x40 [r=12 c=0 rs=1 cs=1]
     172              RenderTableCell {TD} at (324,345) size 312x21 [r=11 c=1 rs=1 cs=1]
     173                RenderBlock {INPUT} at (5,4) size 13x13
     174              RenderTableCell {TD} at (638,345) size 62x21 [r=11 c=2 rs=1 cs=1]
     175                RenderText {#text} at (1,1) size 28x19
     176                  text run at (1,1) width 28: "after"
     177              RenderTableCell {TD} at (702,345) size 61x21 [r=11 c=3 rs=1 cs=1]
     178                RenderText {#text} at (1,1) size 28x19
     179                  text run at (1,1) width 28: "after"
     180            RenderTableRow {TR} at (0,378) size 765x40
     181              RenderTableCell {TD} at (2,378) size 320x40 [r=12 c=0 rs=1 cs=1]
    182182                RenderText {#text} at (1,1) size 282x38
    183183                  text run at (1,1) width 282: "check box with value attribute changed, then"
    184184                  text run at (1,20) width 95: "turned into text"
    185               RenderTableCell {TD} at (324,388) size 312x31 [r=12 c=1 rs=1 cs=1]
    186                 RenderTextControl {INPUT} at (3,3) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
    187               RenderTableCell {TD} at (638,393) size 62x21 [r=12 c=2 rs=1 cs=1]
    188                 RenderText {#text} at (1,1) size 28x19
    189                   text run at (1,1) width 28: "after"
    190               RenderTableCell {TD} at (702,393) size 61x21 [r=12 c=3 rs=1 cs=1]
    191                 RenderText {#text} at (1,1) size 28x19
    192                   text run at (1,1) width 28: "after"
    193             RenderTableRow {TR} at (0,426) size 765x34
    194               RenderTableCell {TD} at (2,432) size 320x21 [r=13 c=0 rs=1 cs=1]
     185              RenderTableCell {TD} at (324,382) size 312x31 [r=12 c=1 rs=1 cs=1]
     186                RenderTextControl {INPUT} at (3,3) size 194x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
     187              RenderTableCell {TD} at (638,387) size 62x21 [r=12 c=2 rs=1 cs=1]
     188                RenderText {#text} at (1,1) size 28x19
     189                  text run at (1,1) width 28: "after"
     190              RenderTableCell {TD} at (702,387) size 61x21 [r=12 c=3 rs=1 cs=1]
     191                RenderText {#text} at (1,1) size 28x19
     192                  text run at (1,1) width 28: "after"
     193            RenderTableRow {TR} at (0,420) size 765x34
     194              RenderTableCell {TD} at (2,426) size 320x21 [r=13 c=0 rs=1 cs=1]
    195195                RenderText {#text} at (1,1) size 204x19
    196196                  text run at (1,1) width 204: "file with value property changed"
    197               RenderTableCell {TD} at (324,426) size 312x34 [r=13 c=1 rs=1 cs=1]
     197              RenderTableCell {TD} at (324,420) size 312x34 [r=13 c=1 rs=1 cs=1]
    198198                RenderFileUploadControl {INPUT} at (3,3) size 306x28 "(None)"
    199199                  RenderButton {INPUT} at (0,0) size 103x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
     
    201201                      RenderText at (0,0) size 87x19
    202202                        text run at (0,0) width 87: "Choose File"
    203               RenderTableCell {TD} at (638,442) size 62x2 [r=13 c=2 rs=1 cs=1]
    204               RenderTableCell {TD} at (702,432) size 61x21 [r=13 c=3 rs=1 cs=1]
     203              RenderTableCell {TD} at (638,436) size 62x2 [r=13 c=2 rs=1 cs=1]
     204              RenderTableCell {TD} at (702,426) size 61x21 [r=13 c=3 rs=1 cs=1]
    205205                RenderText {#text} at (1,1) size 40x19
    206206                  text run at (1,1) width 40: "before"
     
    213213    RenderText {#text} at (1,0) size 36x19
    214214      text run at (1,0) width 36: "\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}"
    215 layer at (338,338) size 188x19
     215layer at (338,334) size 188x19
    216216  RenderBlock {DIV} at (3,3) size 188x19
    217217    RenderText {#text} at (1,0) size 31x19
    218218      text run at (1,0) width 31: "after"
    219 layer at (338,442) size 188x19
     219layer at (338,436) size 188x19
    220220  RenderBlock {DIV} at (3,3) size 188x19
    221221    RenderText {#text} at (1,0) size 31x19
    222222      text run at (1,0) width 31: "after"
    223 layer at (338,526) size 188x19
     223layer at (338,520) size 188x19
    224224  RenderBlock {DIV} at (3,3) size 188x19
    225225    RenderText {#text} at (1,0) size 31x19
  • trunk/LayoutTests/platform/gtk/fast/forms/radio-attr-order-expected.txt

    r71405 r76175  
    44  RenderBlock {HTML} at (0,0) size 800x600
    55    RenderBody {BODY} at (8,8) size 784x584
    6       RenderBlock (anonymous) at (0,0) size 784x78
     6      RenderBlock (anonymous) at (0,0) size 784x77
    77        RenderText {#text} at (0,0) size 744x19
    88          text run at (0,0) width 744: "This tests that radio buttons are checked by default, even when the name attribute is parsed after the checked attribute. "
    99        RenderBR {BR} at (744,15) size 0x0
    1010        RenderBR {BR} at (0,19) size 0x19
    11         RenderBlock {INPUT} at (4,41) size 15x15
    12         RenderText {#text} at (23,39) size 300x19
    13           text run at (23,39) width 300: "This radio button should be checked by default "
    14         RenderBR {BR} at (323,54) size 0x0
    15         RenderBR {BR} at (0,59) size 0x19
    16       RenderBlock {DIV} at (0,78) size 784x19
     11        RenderBlock {INPUT} at (4,42) size 13x13
     12        RenderText {#text} at (21,38) size 300x19
     13          text run at (21,38) width 300: "This radio button should be checked by default "
     14        RenderBR {BR} at (321,53) size 0x0
     15        RenderBR {BR} at (0,58) size 0x19
     16      RenderBlock {DIV} at (0,77) size 784x19
    1717        RenderText {#text} at (0,0) size 301x19
    1818          text run at (0,0) width 82: "Test Passed. "
  • trunk/LayoutTests/platform/gtk/fast/forms/radio-nested-labels-expected.txt

    r71405 r76175  
    99          text run at (595,0) width 87: "only works in"
    1010          text run at (0,19) width 534: "DumpRenderTree. It can be tested manually outside of DRT just by clicking around."
    11       RenderBlock {FORM} at (0,54) size 784x40
    12         RenderBlock (anonymous) at (0,0) size 784x21
    13           RenderBlock {INPUT} at (4,3) size 15x15
    14           RenderInline {LABEL} at (0,0) size 185x19
    15             RenderText {#text} at (23,1) size 27x19
    16               text run at (23,1) width 27: "one "
    17             RenderBlock {INPUT} at (54,3) size 15x15
    18             RenderInline {LABEL} at (0,0) size 135x19
    19               RenderText {#text} at (73,1) size 28x19
    20                 text run at (73,1) width 28: "two "
    21               RenderBlock {INPUT} at (105,3) size 15x15
    22               RenderInline {LABEL} at (0,0) size 84x19
    23                 RenderText {#text} at (124,1) size 35x19
    24                   text run at (124,1) width 35: "three "
    25                 RenderBlock {INPUT} at (163,3) size 15x15
     11      RenderBlock {FORM} at (0,54) size 784x39
     12        RenderBlock (anonymous) at (0,0) size 784x20
     13          RenderBlock {INPUT} at (4,4) size 13x13
     14          RenderInline {LABEL} at (0,0) size 179x19
     15            RenderText {#text} at (21,0) size 27x19
     16              text run at (21,0) width 27: "one "
     17            RenderBlock {INPUT} at (52,4) size 13x13
     18            RenderInline {LABEL} at (0,0) size 131x19
     19              RenderText {#text} at (69,0) size 28x19
     20                text run at (69,0) width 28: "two "
     21              RenderBlock {INPUT} at (101,4) size 13x13
     22              RenderInline {LABEL} at (0,0) size 82x19
     23                RenderText {#text} at (118,0) size 35x19
     24                  text run at (118,0) width 35: "three "
     25                RenderBlock {INPUT} at (157,4) size 13x13
    2626                RenderInline {LABEL} at (0,0) size 26x19
    27                   RenderText {#text} at (182,1) size 26x19
    28                     text run at (182,1) width 26: "four"
    29         RenderBlock (anonymous) at (0,21) size 784x19
     27                  RenderText {#text} at (174,0) size 26x19
     28                    text run at (174,0) width 26: "four"
     29        RenderBlock (anonymous) at (0,20) size 784x19
    3030          RenderBlock {DIV} at (0,0) size 784x19
    3131            RenderText {#text} at (0,0) size 104x19
    3232              text run at (0,0) width 104: "Test Succeeded!"
    33         RenderBlock (anonymous) at (0,40) size 784x0
     33        RenderBlock (anonymous) at (0,39) size 784x0
    3434          RenderInline {LABEL} at (0,0) size 0x0
    3535            RenderInline {LABEL} at (0,0) size 0x0
  • trunk/LayoutTests/platform/gtk/fast/forms/radio_checked-expected.txt

    r71405 r76175  
    77        RenderText {#text} at (0,0) size 502x19
    88          text run at (0,0) width 502: "This test should make sure that only one button per group, per form, is checked."
    9       RenderBlock (anonymous) at (0,35) size 784x21
    10         RenderText {#text} at (0,1) size 322x19
    11           text run at (0,1) width 322: "These buttons are in group1 but don't have a form. "
    12         RenderBlock {INPUT} at (326,3) size 15x15
    13         RenderText {#text} at (345,1) size 4x19
    14           text run at (345,1) width 4: " "
    15         RenderBlock {INPUT} at (353,3) size 15x15
     9      RenderBlock (anonymous) at (0,35) size 784x20
     10        RenderText {#text} at (0,0) size 322x19
     11          text run at (0,0) width 322: "These buttons are in group1 but don't have a form. "
     12        RenderBlock {INPUT} at (326,4) size 13x13
     13        RenderText {#text} at (343,0) size 4x19
     14          text run at (343,0) width 4: " "
     15        RenderBlock {INPUT} at (351,4) size 13x13
    1616        RenderText {#text} at (0,0) size 0x0
    17       RenderBlock {FORM} at (0,56) size 784x61
     17      RenderBlock {FORM} at (0,55) size 784x59
    1818        RenderBR {BR} at (0,0) size 0x19
    19         RenderText {#text} at (0,20) size 289x19
    20           text run at (0,20) width 289: "These buttons are in group1, in the first form. "
    21         RenderBlock {INPUT} at (293,22) size 15x15
    22         RenderText {#text} at (312,20) size 4x19
    23           text run at (312,20) width 4: " "
    24         RenderBlock {INPUT} at (320,22) size 15x15
    25         RenderText {#text} at (339,20) size 4x19
    26           text run at (339,20) width 4: " "
     19        RenderText {#text} at (0,19) size 289x19
     20          text run at (0,19) width 289: "These buttons are in group1, in the first form. "
     21        RenderBlock {INPUT} at (293,23) size 13x13
     22        RenderText {#text} at (310,19) size 4x19
     23          text run at (310,19) width 4: " "
     24        RenderBlock {INPUT} at (318,23) size 13x13
     25        RenderText {#text} at (335,19) size 4x19
     26          text run at (335,19) width 4: " "
    2727        RenderBR {BR} at (0,0) size 0x0
    28         RenderText {#text} at (0,41) size 289x19
    29           text run at (0,41) width 289: "These buttons are in group2, in the first form. "
    30         RenderBlock {INPUT} at (293,43) size 15x15
    31         RenderText {#text} at (312,41) size 4x19
    32           text run at (312,41) width 4: " "
    33         RenderBlock {INPUT} at (320,43) size 15x15
     28        RenderText {#text} at (0,39) size 289x19
     29          text run at (0,39) width 289: "These buttons are in group2, in the first form. "
     30        RenderBlock {INPUT} at (293,43) size 13x13
     31        RenderText {#text} at (310,39) size 4x19
     32          text run at (310,39) width 4: " "
     33        RenderBlock {INPUT} at (318,43) size 13x13
    3434        RenderText {#text} at (0,0) size 0x0
    35       RenderBlock (anonymous) at (0,133) size 784x21
    36         RenderText {#text} at (0,1) size 322x19
    37           text run at (0,1) width 322: "These buttons are in group1 but don't have a form. "
    38         RenderBlock {INPUT} at (326,3) size 15x15
    39         RenderText {#text} at (345,1) size 4x19
    40           text run at (345,1) width 4: " "
    41         RenderBlock {INPUT} at (353,3) size 15x15
     35      RenderBlock (anonymous) at (0,130) size 784x20
     36        RenderText {#text} at (0,0) size 322x19
     37          text run at (0,0) width 322: "These buttons are in group1 but don't have a form. "
     38        RenderBlock {INPUT} at (326,4) size 13x13
     39        RenderText {#text} at (343,0) size 4x19
     40          text run at (343,0) width 4: " "
     41        RenderBlock {INPUT} at (351,4) size 13x13
    4242        RenderText {#text} at (0,0) size 0x0
    43       RenderBlock {FORM} at (0,154) size 784x40
     43      RenderBlock {FORM} at (0,150) size 784x39
    4444        RenderBR {BR} at (0,0) size 0x19
    45         RenderText {#text} at (0,20) size 309x19
    46           text run at (0,20) width 309: "These buttons are in group2, in the second form. "
    47         RenderBlock {INPUT} at (313,22) size 15x15
    48         RenderText {#text} at (332,20) size 4x19
    49           text run at (332,20) width 4: " "
    50         RenderBlock {INPUT} at (340,22) size 15x15
     45        RenderText {#text} at (0,19) size 309x19
     46          text run at (0,19) width 309: "These buttons are in group2, in the second form. "
     47        RenderBlock {INPUT} at (313,23) size 13x13
     48        RenderText {#text} at (330,19) size 4x19
     49          text run at (330,19) width 4: " "
     50        RenderBlock {INPUT} at (338,23) size 13x13
    5151        RenderText {#text} at (0,0) size 0x0
    52       RenderBlock {DIV} at (0,210) size 784x19
     52      RenderBlock {DIV} at (0,205) size 784x19
    5353        RenderText {#text} at (0,0) size 108x19
    5454          text run at (0,0) width 108: "TEST PASSED."
  • trunk/LayoutTests/platform/gtk/fast/forms/radio_checked_dynamic-expected.txt

    r71405 r76175  
    1313        RenderText {#text} at (0,0) size 0x0
    1414        RenderText {#text} at (0,0) size 0x0
    15       RenderBlock {FORM} at (0,57) size 784x21
    16         RenderBlock {INPUT} at (4,3) size 15x15
    17         RenderBlock {INPUT} at (27,3) size 15x15
    18       RenderBlock {DIV} at (0,94) size 784x19
     15      RenderBlock {FORM} at (0,57) size 784x19
     16        RenderBlock {INPUT} at (4,3) size 13x13
     17        RenderBlock {INPUT} at (25,3) size 13x13
     18      RenderBlock {DIV} at (0,92) size 784x19
    1919        RenderText {#text} at (0,0) size 91x19
    2020          text run at (0,0) width 91: "Test 1 Passed"
    21       RenderBlock (anonymous) at (0,113) size 784x38
     21      RenderBlock (anonymous) at (0,111) size 784x38
    2222        RenderBR {BR} at (0,0) size 0x19
    2323        RenderText {#text} at (0,19) size 346x19
    2424          text run at (0,19) width 346: "Test 2: Transfer radio buttons from <form> to <body>:"
    25       RenderBlock {FORM} at (0,151) size 784x0
     25      RenderBlock {FORM} at (0,149) size 784x0
    2626        RenderText {#text} at (0,0) size 0x0
    2727        RenderText {#text} at (0,0) size 0x0
    28       RenderBlock {DIV} at (0,167) size 784x19
     28      RenderBlock {DIV} at (0,165) size 784x19
    2929        RenderText {#text} at (0,0) size 91x19
    3030          text run at (0,0) width 91: "Test 2 Passed"
    31       RenderBlock (anonymous) at (0,186) size 784x38
     31      RenderBlock (anonymous) at (0,184) size 784x38
    3232        RenderBR {BR} at (0,0) size 0x19
    3333        RenderText {#text} at (0,19) size 563x19
    3434          text run at (0,19) width 563: "Test 3: Transfer radio buttons from <form> to <body> with a dormant state in the middle:"
    35       RenderBlock {FORM} at (0,224) size 784x0
     35      RenderBlock {FORM} at (0,222) size 784x0
    3636        RenderText {#text} at (0,0) size 0x0
    3737        RenderText {#text} at (0,0) size 0x0
    38       RenderBlock {DIV} at (0,240) size 784x19
     38      RenderBlock {DIV} at (0,238) size 784x19
    3939        RenderText {#text} at (0,0) size 91x19
    4040          text run at (0,0) width 91: "Test 3 Passed"
    41       RenderBlock (anonymous) at (0,259) size 784x38
     41      RenderBlock (anonymous) at (0,257) size 784x38
    4242        RenderBR {BR} at (0,0) size 0x19
    4343        RenderText {#text} at (0,19) size 254x19
    4444          text run at (0,19) width 254: "Test 4: Transfer from <form> to <form>"
    45       RenderBlock {FORM} at (0,297) size 784x0
     45      RenderBlock {FORM} at (0,295) size 784x0
    4646        RenderText {#text} at (0,0) size 0x0
    4747        RenderText {#text} at (0,0) size 0x0
    48       RenderBlock {FORM} at (0,313) size 784x21
    49         RenderBlock {INPUT} at (4,3) size 15x15
    50         RenderText {#text} at (23,1) size 4x19
    51           text run at (23,1) width 4: " "
    52         RenderBlock {INPUT} at (31,3) size 15x15
    53         RenderBlock {INPUT} at (54,3) size 15x15
    54       RenderBlock {DIV} at (0,350) size 784x19
     48      RenderBlock {FORM} at (0,311) size 784x20
     49        RenderBlock {INPUT} at (4,4) size 13x13
     50        RenderText {#text} at (21,0) size 4x19
     51          text run at (21,0) width 4: " "
     52        RenderBlock {INPUT} at (29,4) size 13x13
     53        RenderBlock {INPUT} at (50,4) size 13x13
     54      RenderBlock {DIV} at (0,347) size 784x19
    5555        RenderText {#text} at (0,0) size 91x19
    5656          text run at (0,0) width 91: "Test 4 Passed"
    57       RenderBlock (anonymous) at (0,369) size 784x21
    58         RenderBlock {INPUT} at (4,3) size 15x15
    59         RenderBlock {INPUT} at (27,3) size 15x15
    60         RenderBlock {INPUT} at (50,3) size 15x15
    61         RenderBlock {INPUT} at (73,3) size 15x15
     57      RenderBlock (anonymous) at (0,366) size 784x19
     58        RenderBlock {INPUT} at (4,3) size 13x13
     59        RenderBlock {INPUT} at (25,3) size 13x13
     60        RenderBlock {INPUT} at (46,3) size 13x13
     61        RenderBlock {INPUT} at (67,3) size 13x13
  • trunk/Source/WebCore/ChangeLog

    r76174 r76175  
     12011-01-11  Martin Robinson  <mrobinson@igalia.com>
     2
     3        Reviewed by Gustavo Noronha Silva.
     4
     5        [GTK] Move toggle button rendering out of gtk2drawing.c
     6        https://bugs.webkit.org/show_bug.cgi?id=52258
     7
     8        * platform/gtk/RenderThemeGtk.h:
     9        * platform/gtk/RenderThemeGtk2.cpp:
     10        (WebCore::RenderThemeGtk::platformInit): Initialize new button members.
     11        (WebCore::adjustRectForFocus): Added this function which inflates a rect based
     12        on a widget's exterior focus.
     13        (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus.
     14        (WebCore::setToggleSize): Only listen to indicator-size to properly size
     15        checkboxes and radio buttons.
     16        (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly.
     17        (WebCore::paintToggle): Added.
     18        (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle.
     19        (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly.
     20        (WebCore::RenderThemeGtk::paintRadio): Call paintToggle.
     21        (WebCore::RenderThemeGtk::gtkRadioButton): Added.
     22        (WebCore::RenderThemeGtk::gtkCheckButton): Added.
     23        * platform/gtk/WidgetRenderingContext.cpp:
     24        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space
     25        variable. This is good enough for all themes that I've tested and prevents having to
     26        pass information from RenderThemeGtk about every single type of widget.
     27        (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect
     28        to draw instead of m_paintRect. This is important when we're painting
     29        something that isn't the size of the total rect.
     30        (WebCore::WidgetRenderingContext::gtkPaintCheck): Added.
     31        (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
     32        * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
     33        * platform/gtk/gtkdrawing.h: Remove newly unused code.
     34        * platform/gtk/gtk2drawing.c: Ditto.
     35
    1362011-01-19  Tony Gentilcore  <tonyg@chromium.org>
    237
  • trunk/Source/WebCore/platform/gtk/RenderThemeGtk.h

    r75798 r76175  
    196196    GtkWidget* gtkHScale() const;
    197197    GtkWidget* gtkContainer() const;
     198    GtkWidget* gtkRadioButton() const;
     199    GtkWidget* gtkCheckButton() const;
     200
    198201    mutable GtkWidget* m_gtkWindow;
    199202    mutable GtkWidget* m_gtkContainer;
     
    203206    mutable GtkWidget* m_gtkVScale;
    204207    mutable GtkWidget* m_gtkHScale;
     208    mutable GtkWidget* m_gtkRadioButton;
     209    mutable GtkWidget* m_gtkCheckButton;
     210
    205211    bool m_themePartsHaveRGBAColormap;
    206212    friend class WidgetRenderingContext;
  • trunk/Source/WebCore/platform/gtk/RenderThemeGtk2.cpp

    r75837 r76175  
    6262    m_gtkVScale = 0;
    6363    m_gtkHScale = 0;
     64    m_gtkRadioButton = 0;
     65    m_gtkCheckButton = 0;
    6466
    6567    memset(&m_themeParts, 0, sizeof(GtkThemeParts));
     
    100102#endif
    101103
    102 void RenderThemeGtk::adjustRepaintRect(const RenderObject*, IntRect&)
    103 {
     104static void adjustRectForFocus(GtkWidget* widget, IntRect& rect, bool ignoreInteriorFocusProperty = false)
     105{
     106    gint focusWidth, focusPad;
     107    gboolean interiorFocus = 0;
     108    gtk_widget_style_get(widget,
     109                         "interior-focus", &interiorFocus,
     110                         "focus-line-width", &focusWidth,
     111                         "focus-padding", &focusPad, NULL);
     112    if (!ignoreInteriorFocusProperty && interiorFocus)
     113        return;
     114    rect.inflate(focusWidth + focusPad);
     115}
     116
     117void RenderThemeGtk::adjustRepaintRect(const RenderObject* renderObject, IntRect& rect)
     118{
     119    ControlPart part = renderObject->style()->appearance();
     120    switch (part) {
     121    case CheckboxPart:
     122    case RadioPart: {
     123        // We ignore the interior focus property and always expand the focus rect. In GTK+, the
     124        // focus indicator is usually on the text next to a checkbox or radio button, but that doesn't
     125        // happen in WebCore. By expanding the focus rectangle unconditionally we increase its prominence.
     126        adjustRectForFocus(part == CheckboxPart ? gtkCheckButton() : gtkRadioButton(), rect, true);
     127        return;
     128    }
     129    default:
     130        return;
     131    }
    104132}
    105133
     
    143171}
    144172
    145 void RenderThemeGtk::getIndicatorMetrics(ControlPart part, int& indicatorSize, int& indicatorSpacing)
    146 {
    147     ASSERT(part == CheckboxPart || part == RadioPart);
    148     if (part == CheckboxPart) {
    149         moz_gtk_checkbox_get_metrics(&indicatorSize, &indicatorSpacing);
    150         return;
    151     }
    152 
    153     // RadioPart
    154     moz_gtk_radio_get_metrics(&indicatorSize, &indicatorSpacing);
    155 }
    156 
    157 static void setToggleSize(const RenderThemeGtk* theme, RenderStyle* style, ControlPart appearance)
     173static void setToggleSize(const RenderThemeGtk* theme, RenderStyle* style, GtkWidget* widget)
    158174{
    159175    // The width and height are both specified, so we shouldn't change them.
     
    161177        return;
    162178
    163     // FIXME: This is probably not correct use of indicatorSize and indicatorSpacing.
    164     gint indicatorSize, indicatorSpacing;
    165     RenderThemeGtk::getIndicatorMetrics(appearance, indicatorSize, indicatorSpacing);
    166 
    167     // Other ports hard-code this to 13, but GTK+ users tend to demand the native look.
    168     // It could be made a configuration option values other than 13 actually break site compatibility.
    169     int length = indicatorSize + indicatorSpacing;
     179    gint indicatorSize;
     180    gtk_widget_style_get(widget, "indicator-size", &indicatorSize, NULL);
    170181    if (style->width().isIntrinsicOrAuto())
    171         style->setWidth(Length(length, Fixed));
    172 
     182        style->setWidth(Length(indicatorSize, Fixed));
    173183    if (style->height().isAuto())
    174         style->setHeight(Length(length, Fixed));
     184        style->setHeight(Length(indicatorSize, Fixed));
     185}
     186
     187static void paintToggle(RenderThemeGtk* theme, RenderObject* renderObject, const PaintInfo& info, const IntRect& rect, GtkWidget* widget)
     188{
     189    // We do not call gtk_toggle_button_set_active here, because some themes begin a series of
     190    // animation frames in a "toggled" signal handler. This puts some checkboxes in a half-way
     191    // checked state. Every GTK+ theme I tested merely looks at the shadow type (and not the
     192    // 'active' property) to determine whether or not to draw the check.
     193    gtk_widget_set_sensitive(widget, theme->isEnabled(renderObject) && !theme->isReadOnlyControl(renderObject));
     194    gtk_widget_set_direction(widget, gtkTextDirection(renderObject->style()->direction()));
     195
     196    bool indeterminate = theme->isIndeterminate(renderObject);
     197    gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON(widget), indeterminate);
     198
     199    GtkShadowType shadowType = GTK_SHADOW_OUT;
     200    if (indeterminate) // This originates from the Mozilla code.
     201        shadowType = GTK_SHADOW_ETCHED_IN;
     202    else if (theme->isChecked(renderObject))
     203        shadowType = GTK_SHADOW_IN;
     204
     205    WidgetRenderingContext widgetContext(info.context, rect);
     206    IntRect buttonRect(IntPoint(), rect.size());
     207    GtkStateType toggleState = getGtkStateType(theme, renderObject);
     208    const char* detail = 0;
     209    if (GTK_IS_RADIO_BUTTON(widget)) {
     210        detail = "radiobutton";
     211        widgetContext.gtkPaintOption(buttonRect, widget, toggleState, shadowType, detail);
     212    } else {
     213        detail = "checkbutton";
     214        widgetContext.gtkPaintCheck(buttonRect, widget, toggleState, shadowType, detail);
     215    }
     216
     217    if (theme->isFocused(renderObject)) {
     218        IntRect focusRect(buttonRect);
     219        adjustRectForFocus(widget, focusRect, true);
     220        widgetContext.gtkPaintFocus(focusRect, widget, toggleState, detail);
     221    }
    175222}
    176223
    177224void RenderThemeGtk::setCheckboxSize(RenderStyle* style) const
    178225{
    179     setToggleSize(this, style, RadioPart);
    180 }
    181 
    182 bool RenderThemeGtk::paintCheckbox(RenderObject* object, const PaintInfo& info, const IntRect& rect)
    183 {
    184     return paintRenderObject(MOZ_GTK_CHECKBUTTON, object, info.context, rect, isChecked(object));
     226    setToggleSize(this, style, gtkCheckButton());
     227}
     228
     229bool RenderThemeGtk::paintCheckbox(RenderObject* renderObject, const PaintInfo& info, const IntRect& rect)
     230{
     231    paintToggle(this, renderObject, info, rect, gtkCheckButton());
     232    return false;
    185233}
    186234
    187235void RenderThemeGtk::setRadioSize(RenderStyle* style) const
    188236{
    189     setToggleSize(this, style, RadioPart);
    190 }
    191 
    192 bool RenderThemeGtk::paintRadio(RenderObject* object, const PaintInfo& info, const IntRect& rect)
    193 {
    194     return paintRenderObject(MOZ_GTK_RADIOBUTTON, object, info.context, rect, isChecked(object));
     237    setToggleSize(this, style, gtkRadioButton());
     238}
     239
     240bool RenderThemeGtk::paintRadio(RenderObject* renderObject, const PaintInfo& info, const IntRect& rect)
     241{
     242    paintToggle(this, renderObject, info, rect, gtkRadioButton());
     243    return false;
    195244}
    196245
     
    574623}
    575624
     625GtkWidget* RenderThemeGtk::gtkRadioButton() const
     626{
     627    if (m_gtkRadioButton)
     628        return m_gtkRadioButton;
     629    m_gtkRadioButton = gtk_radio_button_new(0);
     630    setupWidgetAndAddToContainer(m_gtkRadioButton, gtkContainer());
     631    return m_gtkRadioButton;
     632}
     633
     634GtkWidget* RenderThemeGtk::gtkCheckButton() const
     635{
     636    if (m_gtkCheckButton)
     637        return m_gtkCheckButton;
     638    m_gtkCheckButton = gtk_check_button_new();
     639    setupWidgetAndAddToContainer(m_gtkCheckButton, gtkContainer());
     640    return m_gtkCheckButton;
     641}
     642
    576643GtkWidget* RenderThemeGtk::gtkScrollbar()
    577644{
  • trunk/Source/WebCore/platform/gtk/WidgetRenderingContext.cpp

    r75437 r76175  
    6666}
    6767
    68 static IntSize getExtraSpaceForWidget(RenderThemeGtk* theme)
    69 {
    70     // Checkboxes and scrollbar thumbs often draw outside their boundaries. Here we figure out
    71     // the maximum amount of space we need for any type of widget and use that to increase the
    72     // size of the scratch buffer, while preserving the final widget position.
    73 
    74     // The checkbox extra space is calculated by looking at the widget style.
    75     int indicatorSize, indicatorSpacing;
    76     theme->getIndicatorMetrics(CheckboxPart, indicatorSize, indicatorSpacing);
    77     IntSize extraSpace(indicatorSpacing, indicatorSpacing);
    78 
    79     // Scrollbar thumbs need at least an extra pixel along their movement axis.
    80     return extraSpace.expandedTo(IntSize(1, 1));
    81 }
    82 
    8368WidgetRenderingContext::WidgetRenderingContext(GraphicsContext* graphicsContext, const IntRect& targetRect)
    8469    : m_graphicsContext(graphicsContext)
     
    9782    }
    9883
    99     // Some widgets render outside their rectangles. We need to account for this.
    100     m_extraSpace = getExtraSpaceForWidget(theme);
     84    // Widgets sometimes need to draw outside their boundaries for things such as
     85    // exterior focus. We want to allocate a some extra pixels in our surface for this.
     86    m_extraSpace = IntSize(15, 15);
    10187
    10288    // Offset the target rectangle so that the extra space is within the boundaries of the scratch buffer.
     
    177163{
    178164    GdkRectangle paintRect = { m_paintRect.x + rect.x(), m_paintRect.y + rect.y(), rect.width(), rect.height() };
    179     gtk_paint_focus(gtk_widget_get_style(widget), m_target, stateType, &m_paintRect, widget,
     165    gtk_paint_focus(gtk_widget_get_style(widget), m_target, stateType, &paintRect, widget,
    180166                    detail, paintRect.x, paintRect.y, paintRect.width, paintRect.height);
    181167}
     
    188174}
    189175
     176void WidgetRenderingContext::gtkPaintCheck(const IntRect& rect, GtkWidget* widget, GtkStateType stateType, GtkShadowType shadowType, const gchar* detail)
     177{
     178    GdkRectangle paintRect = { m_paintRect.x + rect.x(), m_paintRect.y + rect.y(), rect.width(), rect.height() };
     179    gtk_paint_check(gtk_widget_get_style(widget), m_target, stateType, shadowType, &paintRect, widget,
     180                    detail, paintRect.x, paintRect.y, paintRect.width, paintRect.height);
     181}
     182
     183void WidgetRenderingContext::gtkPaintOption(const IntRect& rect, GtkWidget* widget, GtkStateType stateType, GtkShadowType shadowType, const gchar* detail)
     184{
     185    GdkRectangle paintRect = { m_paintRect.x + rect.x(), m_paintRect.y + rect.y(), rect.width(), rect.height() };
     186    gtk_paint_option(gtk_widget_get_style(widget), m_target, stateType, shadowType, &paintRect, widget,
     187                     detail, paintRect.x, paintRect.y, paintRect.width, paintRect.height);
     188}
     189
    190190}
    191191
  • trunk/Source/WebCore/platform/gtk/WidgetRenderingContext.h

    r75437 r76175  
    4242    void gtkPaintFocus(const IntRect&, GtkWidget*, GtkStateType, const gchar*);
    4343    void gtkPaintSlider(const IntRect&, GtkWidget*, GtkStateType, GtkShadowType, const gchar*, GtkOrientation);
     44    void gtkPaintCheck(const IntRect&, GtkWidget*, GtkStateType, GtkShadowType, const gchar*);
     45    void gtkPaintOption(const IntRect&, GtkWidget*, GtkStateType, GtkShadowType, const gchar*);
    4446
    4547private:
  • trunk/Source/WebCore/platform/gtk/gtk2drawing.c

    r74129 r76175  
    152152
    153153static gint
    154 ensure_checkbox_widget()
    155 {
    156     if (!gParts->checkboxWidget) {
    157         gParts->checkboxWidget = gtk_check_button_new_with_label("M");
    158         setup_widget_prototype(gParts->checkboxWidget);
    159     }
    160     return MOZ_GTK_SUCCESS;
    161 }
    162 
    163 static gint
    164 ensure_radiobutton_widget()
    165 {
    166     if (!gParts->radiobuttonWidget) {
    167         gParts->radiobuttonWidget = gtk_radio_button_new_with_label(NULL, "M");
    168         setup_widget_prototype(gParts->radiobuttonWidget);
    169     }
    170     return MOZ_GTK_SUCCESS;
    171 }
    172 
    173 static gint
    174154ensure_scrollbar_widget()
    175155{
     
    459439
    460440gint
    461 moz_gtk_checkbox_get_metrics(gint* indicator_size, gint* indicator_spacing)
    462 {
    463     ensure_checkbox_widget();
    464 
    465     gtk_widget_style_get (gParts->checkboxWidget,
    466                           "indicator_size", indicator_size,
    467                           "indicator_spacing", indicator_spacing,
    468                           NULL);
    469 
    470     return MOZ_GTK_SUCCESS;
    471 }
    472 
    473 gint
    474 moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing)
    475 {
    476     ensure_radiobutton_widget();
    477 
    478     gtk_widget_style_get (gParts->radiobuttonWidget,
    479                           "indicator_size", indicator_size,
    480                           "indicator_spacing", indicator_spacing,
    481                           NULL);
    482 
    483     return MOZ_GTK_SUCCESS;
    484 }
    485 
    486 gint
    487441moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus,
    488442                         gint* focus_width, gint* focus_pad)
     
    511465    else
    512466        *inner_border = default_inner_border;
    513 
    514     return MOZ_GTK_SUCCESS;
    515 }
    516 
    517 static gint
    518 moz_gtk_toggle_paint(GdkDrawable* drawable, GdkRectangle* rect,
    519                      GdkRectangle* cliprect, GtkWidgetState* state,
    520                      gboolean selected, gboolean inconsistent,
    521                      gboolean isradio, GtkTextDirection direction)
    522 {
    523     GtkStateType state_type = ConvertGtkState(state);
    524     GtkShadowType shadow_type = (selected)?GTK_SHADOW_IN:GTK_SHADOW_OUT;
    525     gint indicator_size, indicator_spacing;
    526     gint x, y, width, height;
    527     gint focus_x, focus_y, focus_width, focus_height;
    528     GtkWidget *w;
    529     GtkStyle *style;
    530 
    531     if (isradio) {
    532         moz_gtk_radio_get_metrics(&indicator_size, &indicator_spacing);
    533         w = gParts->radiobuttonWidget;
    534     } else {
    535         moz_gtk_checkbox_get_metrics(&indicator_size, &indicator_spacing);
    536         w = gParts->checkboxWidget;
    537     }
    538 
    539     // "GetMinimumWidgetSize was ignored"
    540     // FIXME: This assert causes a build failure in WebKitGTK+ debug
    541     // builds, because it uses 'false' in its definition. We may want
    542     // to force this file to be built with g++, by renaming it.
    543     // ASSERT(rect->width == indicator_size);
    544 
    545     /*
    546      * vertically center in the box, since XUL sometimes ignores our
    547      * GetMinimumWidgetSize in the vertical dimension
    548      */
    549     x = rect->x;
    550     y = rect->y + (rect->height - indicator_size) / 2;
    551     width = indicator_size;
    552     height = indicator_size;
    553 
    554     focus_x = x - indicator_spacing;
    555     focus_y = y - indicator_spacing;
    556     focus_width = width + 2 * indicator_spacing;
    557     focus_height = height + 2 * indicator_spacing;
    558  
    559     style = gtk_widget_get_style(w);
    560     TSOffsetStyleGCs(style, x, y);
    561 
    562     gtk_widget_set_sensitive(w, !state->disabled);
    563     gtk_widget_set_direction(w, direction);
    564     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), selected);
    565      
    566     if (isradio) {
    567         gtk_paint_option(style, drawable, state_type, shadow_type, cliprect,
    568                          gParts->radiobuttonWidget, "radiobutton", x, y,
    569                          width, height);
    570         if (state->focused) {
    571             gtk_paint_focus(style, drawable, GTK_STATE_ACTIVE, cliprect,
    572                             gParts->radiobuttonWidget, "radiobutton", focus_x, focus_y,
    573                             focus_width, focus_height);
    574         }
    575     }
    576     else {
    577        /*
    578         * 'indeterminate' type on checkboxes. In GTK, the shadow type
    579         * must also be changed for the state to be drawn.
    580         */
    581         if (inconsistent) {
    582             gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON(gParts->checkboxWidget), TRUE);
    583             shadow_type = GTK_SHADOW_ETCHED_IN;
    584         } else {
    585             gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON(gParts->checkboxWidget), FALSE);
    586         }
    587 
    588         gtk_paint_check(style, drawable, state_type, shadow_type, cliprect,
    589                         gParts->checkboxWidget, "checkbutton", x, y, width, height);
    590         if (state->focused) {
    591             gtk_paint_focus(style, drawable, GTK_STATE_ACTIVE, cliprect,
    592                             gParts->checkboxWidget, "checkbutton", focus_x, focus_y,
    593                             focus_width, focus_height);
    594         }
    595     }
    596467
    597468    return MOZ_GTK_SUCCESS;
     
    12211092        break;
    12221093    /* These widgets have no borders, since they are not containers. */
    1223     case MOZ_GTK_CHECKBUTTON:
    1224     case MOZ_GTK_RADIOBUTTON:
    12251094    case MOZ_GTK_SCROLLBAR_BUTTON:
    12261095    case MOZ_GTK_SCROLLBAR_TRACK_HORIZONTAL:
     
    12801149        return moz_gtk_button_paint(drawable, rect, cliprect, state,
    12811150                                    (GtkReliefStyle) flags, gParts->buttonWidget,
    1282                                     direction);
    1283         break;
    1284     case MOZ_GTK_CHECKBUTTON:
    1285     case MOZ_GTK_RADIOBUTTON:
    1286         return moz_gtk_toggle_paint(drawable, rect, cliprect, state,
    1287                                     !!(flags & MOZ_GTK_WIDGET_CHECKED),
    1288                                     !!(flags & MOZ_GTK_WIDGET_INCONSISTENT),
    1289                                     (widget == MOZ_GTK_RADIOBUTTON),
    12901151                                    direction);
    12911152        break;
  • trunk/Source/WebCore/platform/gtk/gtkdrawing.h

    r75437 r76175  
    8888    GtkWidget* toggleButtonWidget;
    8989    GtkWidget* buttonArrowWidget;
    90     GtkWidget* checkboxWidget;
    91     GtkWidget* radiobuttonWidget;
    9290    GtkWidget* horizScrollbarWidget;
    9391    GtkWidget* vertScrollbarWidget;
     
    119117#define MOZ_GTK_UNSAFE_THEME -2
    120118
    121 /*** checkbox/radio flags ***/
    122 #define MOZ_GTK_WIDGET_CHECKED 1
    123 #define MOZ_GTK_WIDGET_INCONSISTENT (1 << 1)
    124 
    125119/*** widget type constants ***/
    126120typedef enum {
    127121  /* Paints a GtkButton. flags is a GtkReliefStyle. */
    128122  MOZ_GTK_BUTTON,
    129   /* Paints a GtkCheckButton. flags is a boolean, 1=checked, 0=not checked. */
    130   MOZ_GTK_CHECKBUTTON,
    131   /* Paints a GtkRadioButton. flags is a boolean, 1=checked, 0=not checked. */
    132   MOZ_GTK_RADIOBUTTON,
    133123  /**
    134124   * Paints the button of a GtkScrollbar. flags is a GtkArrowType giving
     
    225215                               gboolean inhtml);
    226216
    227 /**
    228  * Get the desired size of a GtkCheckButton
    229  * indicator_size:     [OUT] the indicator size
    230  * indicator_spacing:  [OUT] the spacing between the indicator and its
    231  *                     container
    232  *
    233  * returns:    MOZ_GTK_SUCCESS if there was no error, an error code otherwise
    234  */
    235 gint
    236 moz_gtk_checkbox_get_metrics(gint* indicator_size, gint* indicator_spacing);
    237 
    238 /**
    239  * Get the desired size of a GtkRadioButton
    240  * indicator_size:     [OUT] the indicator size
    241  * indicator_spacing:  [OUT] the spacing between the indicator and its
    242  *                     container
    243  *
    244  * returns:    MOZ_GTK_SUCCESS if there was no error, an error code otherwise
    245  */
    246 gint
    247 moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing);
    248 
    249217/** Get the focus metrics for a treeheadercell, button, checkbox, or radio button.
    250218 * widget:             [IN]  the widget to get the focus metrics for   
Note: See TracChangeset for help on using the changeset viewer.