[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

mrobinson at webkit.org mrobinson at webkit.org
Wed Dec 22 14:39:21 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit bfb8d5ab7d81dbfb4a457277b2e304b5b9f19c94
Author: mrobinson at webkit.org <mrobinson at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Oct 14 23:18:09 2010 +0000

    2010-10-08  Martin Robinson  <mrobinson at igalia.com>
    
            Reviewed by Xan Lopez.
    
            [GTK] Form controls do not respect GTK+ font size
            https://bugs.webkit.org/show_bug.cgi?id=47134
    
            Rebaseline tests which depend on form control font size.
    
            * platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt:
            * platform/gtk/editing/selection/drag-select-1-expected.txt:
            * platform/gtk/editing/selection/drag-text-delay-expected.txt:
            * platform/gtk/editing/selection/select-box-expected.txt:
            * platform/gtk/fast/css/input-search-padding-expected.txt:
            * platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
            * platform/gtk/fast/events/keydown-1-expected.txt:
            * platform/gtk/fast/forms/box-shadow-override-expected.txt:
            * platform/gtk/fast/forms/button-style-color-expected.txt:
            * platform/gtk/fast/forms/input-button-sizes-expected.txt:
            * platform/gtk/fast/forms/input-text-drag-down-expected.txt:
            * platform/gtk/fast/forms/placeholder-stripped-expected.txt:
            * platform/gtk/fast/frames/take-focus-from-iframe-expected.txt:
            * platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.txt:
            * platform/gtk/transforms/2d/zoom-menulist-expected.txt:
    2010-10-08  Martin Robinson  <mrobinson at igalia.com>
    
            Reviewed by Xan Lopez.
    
            [GTK] Form controls do not respect GTK+ font size
            https://bugs.webkit.org/show_bug.cgi?id=47134
    
            Have form controls use the font specified in GtkSettings. This font is
            the default control font in GTK+ applications and Firefox. We need to
            pass the string through Pango to get a valid font name and size.
    
            * platform/gtk/RenderThemeGtk.cpp:
            (WebCore::getScreenDPI): A helper function which returns
            the DPI of the default screen or 96 as a fallback.
            (WebCore::RenderThemeGtk::systemFont): Calculate the system font
            by looking at the GtkSettings value and pushing it through Pango
            to get the font family and font size.
    2010-10-08  Martin Robinson  <mrobinson at igalia.com>
    
            Reviewed by Xan Lopez.
    
            [GTK] Form controls do not respect GTK+ font size
            https://bugs.webkit.org/show_bug.cgi?id=47134
    
            * DumpRenderTree/gtk/DumpRenderTree.cpp:
            (initializeGtkFontSettings): Initialize the font control size when running
            DumpRenderTree to a standard value.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69818 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 5f35764..1a5f205 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,28 @@
+2010-10-08  Martin Robinson  <mrobinson at igalia.com>
+
+        Reviewed by Xan Lopez.
+
+        [GTK] Form controls do not respect GTK+ font size
+        https://bugs.webkit.org/show_bug.cgi?id=47134
+
+        Rebaseline tests which depend on form control font size.
+
+        * platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt:
+        * platform/gtk/editing/selection/drag-select-1-expected.txt:
+        * platform/gtk/editing/selection/drag-text-delay-expected.txt:
+        * platform/gtk/editing/selection/select-box-expected.txt:
+        * platform/gtk/fast/css/input-search-padding-expected.txt:
+        * platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
+        * platform/gtk/fast/events/keydown-1-expected.txt:
+        * platform/gtk/fast/forms/box-shadow-override-expected.txt:
+        * platform/gtk/fast/forms/button-style-color-expected.txt:
+        * platform/gtk/fast/forms/input-button-sizes-expected.txt:
+        * platform/gtk/fast/forms/input-text-drag-down-expected.txt:
+        * platform/gtk/fast/forms/placeholder-stripped-expected.txt:
+        * platform/gtk/fast/frames/take-focus-from-iframe-expected.txt:
+        * platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.txt:
+        * platform/gtk/transforms/2d/zoom-menulist-expected.txt:
+
 2010-10-14  Sheriff Bot  <webkit.review.bot at gmail.com>
 
         Unreviewed, rolling out r69795.
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.checksum b/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.checksum
new file mode 100644
index 0000000..d0941c8
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.checksum
@@ -0,0 +1 @@
+e3217d8d845b0cfe8c4e287a6394142b
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.png b/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.png
new file mode 100644
index 0000000..b582bcc
Binary files /dev/null and b/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.png differ
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt
index 67d9d6e..1579bc1 100644
--- a/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt
+++ b/LayoutTests/platform/gtk/editing/pasteboard/drop-text-without-selection-expected.txt
@@ -22,17 +22,17 @@ layer at (0,0) size 800x600
           text run at (458,0) width 167: "no text is currently selected."
       RenderBlock {HR} at (0,89) size 784x2 [border: (1px inset #000000)]
       RenderBlock (anonymous) at (0,99) size 784x29
-        RenderTextControl {INPUT} at (2,2) size 168x25 [bgcolor=#FFFFFF]
-        RenderText {#text} at (172,5) size 4x19
-          text run at (172,5) width 4: " "
+        RenderTextControl {INPUT} at (2,2) size 194x25 [bgcolor=#FFFFFF]
+        RenderText {#text} at (198,5) size 4x19
+          text run at (198,5) width 4: " "
         RenderInline {A} at (0,0) size 154x19 [color=#0000EE]
-          RenderText {#text} at (176,5) size 154x19
-            text run at (176,5) width 154: "drop me into the text field"
+          RenderText {#text} at (202,5) size 154x19
+            text run at (202,5) width 154: "drop me into the text field"
         RenderText {#text} at (0,0) size 0x0
         RenderText {#text} at (0,0) size 0x0
-layer at (13,112) size 162x19
-  RenderBlock {DIV} at (3,3) size 162x19
-    RenderText {#text} at (1,0) size 127x19
-      text run at (1,0) width 127: "http://www.ibm.com/"
+layer at (13,112) size 188x19
+  RenderBlock {DIV} at (3,3) size 188x19
+    RenderText {#text} at (1,0) size 138x19
+      text run at (1,0) width 138: "http://www.ibm.com/"
 selection start: position 0 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
 selection end:   position 19 of child 0 {#text} of child 0 {DIV} of child 7 {INPUT} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.checksum b/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.checksum
new file mode 100644
index 0000000..24e449f
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.checksum
@@ -0,0 +1 @@
+86a76da05272efad4be724769a693977
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.png b/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.png
new file mode 100644
index 0000000..dfef36a
Binary files /dev/null and b/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.png differ
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.txt b/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.txt
index bc7f9f0..2ffa534 100644
--- a/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/drag-select-1-expected.txt
@@ -13,9 +13,9 @@ layer at (0,0) size 800x600
             text run at (0,5) width 63: "Start here."
         RenderText {#text} at (63,5) size 4x19
           text run at (63,5) width 4: " "
-        RenderTextControl {INPUT} at (69,2) size 168x25 [bgcolor=#FFFFFF]
+        RenderTextControl {INPUT} at (69,2) size 194x25 [bgcolor=#FFFFFF]
       RenderBlock {UL} at (0,80) size 784x0
-layer at (80,48) size 162x19
-  RenderBlock {DIV} at (3,3) size 162x19
+layer at (80,48) size 188x19
+  RenderBlock {DIV} at (3,3) size 188x19
 selection start: position 5 of child 0 {#text} of child 0 {SPAN} of child 2 {DIV} of body
 selection end:   position 1 of child 1 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-text-delay-expected.checksum b/LayoutTests/platform/gtk/editing/selection/drag-text-delay-expected.checksum
new file mode 100644
index 0000000..a62b034
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/drag-text-delay-expected.checksum
@@ -0,0 +1 @@
+346595b35ef76d282b43944863f573c0
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-text-delay-expected.png b/LayoutTests/platform/gtk/editing/selection/drag-text-delay-expected.png
new file mode 100644
index 0000000..194bb71
Binary files /dev/null and b/LayoutTests/platform/gtk/editing/selection/drag-text-delay-expected.png differ
diff --git a/LayoutTests/platform/gtk/editing/selection/drag-text-delay-expected.txt b/LayoutTests/platform/gtk/editing/selection/drag-text-delay-expected.txt
index d16eec7..754b3ab 100644
--- a/LayoutTests/platform/gtk/editing/selection/drag-text-delay-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/drag-text-delay-expected.txt
@@ -3,11 +3,11 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderTextControl {INPUT} at (2,2) size 168x25 [bgcolor=#FFFFFF]
+      RenderTextControl {INPUT} at (2,2) size 194x25 [bgcolor=#FFFFFF]
       RenderText {#text} at (0,0) size 0x0
-layer at (13,13) size 162x19
-  RenderBlock {DIV} at (3,3) size 162x19
-    RenderText {#text} at (1,0) size 67x19
-      text run at (1,0) width 67: " worldhello"
+layer at (13,13) size 188x19
+  RenderBlock {DIV} at (3,3) size 188x19
+    RenderText {#text} at (1,0) size 73x19
+      text run at (1,0) width 73: " worldhello"
 selection start: position 6 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of body
 selection end:   position 11 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of body
diff --git a/LayoutTests/platform/gtk/editing/selection/select-box-expected.checksum b/LayoutTests/platform/gtk/editing/selection/select-box-expected.checksum
new file mode 100644
index 0000000..9a0aa7b
--- /dev/null
+++ b/LayoutTests/platform/gtk/editing/selection/select-box-expected.checksum
@@ -0,0 +1 @@
+3e983868f973636258f4d188f31182b6
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/editing/selection/select-box-expected.png b/LayoutTests/platform/gtk/editing/selection/select-box-expected.png
new file mode 100644
index 0000000..f6c8aa2
Binary files /dev/null and b/LayoutTests/platform/gtk/editing/selection/select-box-expected.png differ
diff --git a/LayoutTests/platform/gtk/editing/selection/select-box-expected.txt b/LayoutTests/platform/gtk/editing/selection/select-box-expected.txt
index 265a320..f0109bd 100644
--- a/LayoutTests/platform/gtk/editing/selection/select-box-expected.txt
+++ b/LayoutTests/platform/gtk/editing/selection/select-box-expected.txt
@@ -11,10 +11,10 @@ layer at (0,0) size 800x600
         RenderBlock {DIV} at (0,0) size 784x29
           RenderText {#text} at (0,5) size 68x19
             text run at (0,5) width 68: "select box: "
-          RenderMenuList {SELECT} at (70,2) size 31x25 [bgcolor=#FFFFFF]
-            RenderBlock (anonymous) at (3,3) size 8x19
-              RenderText at (0,0) size 8x19
-                text run at (0,0) width 8: "1"
-          RenderText {#text} at (103,5) size 64x19
-            text run at (103,5) width 64: " the end ..."
+          RenderMenuList {SELECT} at (70,2) size 32x25 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (3,3) size 9x19
+              RenderText at (0,0) size 9x19
+                text run at (0,0) width 9: "1"
+          RenderText {#text} at (104,5) size 64x19
+            text run at (104,5) width 64: " the end ..."
 caret: position 1 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.checksum b/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.checksum
new file mode 100644
index 0000000..f1f8188
--- /dev/null
+++ b/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.checksum
@@ -0,0 +1 @@
+78ade06c1fa51088f09f056051696d4e
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.png b/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.png
new file mode 100644
index 0000000..56851f7
Binary files /dev/null and b/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.png differ
diff --git a/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.txt b/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.txt
index 5766889..925e2e1 100644
--- a/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.txt
+++ b/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.txt
@@ -3,26 +3,26 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderTextControl {INPUT} at (2,2) size 408x81 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-        RenderBlock {DIV} at (3,17) size 402x46
-          RenderBlock {DIV} at (0,36) size 0x0
-          RenderBlock {DIV} at (388,22) size 14x14
-      RenderBR {BR} at (412,85) size 0x0
-      RenderTextControl {INPUT} at (2,87) size 408x52 [bgcolor=#FFFFFF]
-      RenderBR {BR} at (412,126) size 0x0
-      RenderTextControl {INPUT} at (2,141) size 208x29 [bgcolor=#FFFFFF]
-        RenderBlock {DIV} at (3,3) size 202x23
-          RenderBlock {DIV} at (0,18) size 0x0
-          RenderBlock {DIV} at (188,4) size 14x14
-layer at (13,27) size 388x46
-  RenderBlock {DIV} at (0,0) size 388x46
-    RenderText {#text} at (1,0) size 332x45
-      text run at (1,0) width 332: "value jgq not clipped"
-layer at (13,98) size 402x46
-  RenderBlock {DIV} at (3,3) size 402x46
-    RenderText {#text} at (1,0) size 332x45
-      text run at (1,0) width 332: "value jgq not clipped"
-layer at (13,152) size 188x23
-  RenderBlock {DIV} at (0,0) size 188x23
-    RenderText {#text} at (1,0) size 103x23
-      text run at (1,0) width 103: "Sample Input"
+      RenderTextControl {INPUT} at (2,2) size 463x81 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderBlock {DIV} at (3,17) size 457x46
+          RenderBlock {DIV} at (0,37) size 0x0
+          RenderBlock {DIV} at (443,23) size 14x14
+      RenderBR {BR} at (467,85) size 0x0
+      RenderTextControl {INPUT} at (2,87) size 463x52 [bgcolor=#FFFFFF]
+      RenderBR {BR} at (467,127) size 0x0
+      RenderTextControl {INPUT} at (2,141) size 236x30 [bgcolor=#FFFFFF]
+        RenderBlock {DIV} at (3,3) size 230x24
+          RenderBlock {DIV} at (0,19) size 0x0
+          RenderBlock {DIV} at (216,5) size 14x14
+layer at (13,27) size 443x46
+  RenderBlock {DIV} at (0,0) size 443x46
+    RenderText {#text} at (1,0) size 357x46
+      text run at (1,0) width 357: "value jgq not clipped"
+layer at (13,98) size 457x46
+  RenderBlock {DIV} at (3,3) size 457x46
+    RenderText {#text} at (1,0) size 357x46
+      text run at (1,0) width 357: "value jgq not clipped"
+layer at (13,152) size 216x24
+  RenderBlock {DIV} at (0,0) size 216x24
+    RenderText {#text} at (1,0) size 115x24
+      text run at (1,0) width 115: "Sample Input"
diff --git a/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.checksum b/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.checksum
index f16d02c..db085b5 100644
--- a/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.checksum
+++ b/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.checksum
@@ -1 +1 @@
-f194de8858e2cbaf3509b2a198287bce
\ No newline at end of file
+ba81be8b2522dd60a422aa8665c8fe94
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.png b/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.png
index d6d021a..70438e9 100644
Binary files a/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.png and b/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.png differ
diff --git a/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt b/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt
index 51b6e11..095aba6 100644
--- a/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt
+++ b/LayoutTests/platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt
@@ -22,5 +22,5 @@ layer at (0,0) size 800x139
         RenderText {#text} at (0,0) size 0x0
 layer at (22,98) size 113x19
   RenderBlock {DIV} at (0,0) size 113x19
-    RenderText {#text} at (1,0) size 66x19
-      text run at (1,0) width 66: "default text"
+    RenderText {#text} at (1,0) size 74x19
+      text run at (1,0) width 74: "default text"
diff --git a/LayoutTests/platform/gtk/fast/events/keydown-1-expected.checksum b/LayoutTests/platform/gtk/fast/events/keydown-1-expected.checksum
new file mode 100644
index 0000000..b6d2aef
--- /dev/null
+++ b/LayoutTests/platform/gtk/fast/events/keydown-1-expected.checksum
@@ -0,0 +1 @@
+90f383ee67330defe6d8d6587d2e17db
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/fast/events/keydown-1-expected.png b/LayoutTests/platform/gtk/fast/events/keydown-1-expected.png
new file mode 100644
index 0000000..bcc734e
Binary files /dev/null and b/LayoutTests/platform/gtk/fast/events/keydown-1-expected.png differ
diff --git a/LayoutTests/platform/gtk/fast/events/keydown-1-expected.txt b/LayoutTests/platform/gtk/fast/events/keydown-1-expected.txt
index 065dc5b..f6f1e87 100644
--- a/LayoutTests/platform/gtk/fast/events/keydown-1-expected.txt
+++ b/LayoutTests/platform/gtk/fast/events/keydown-1-expected.txt
@@ -17,9 +17,8 @@ layer at (0,0) size 800x600
           layer at (0,0) size 300x150
             RenderBlock {HTML} at (0,0) size 300x150
               RenderBody {BODY} at (8,8) size 284x134 [bgcolor=#FFFFE0]
-                RenderText {#text} at (0,0) size 260x19
-                  text run at (0,0) width 260: "This sentence should not end with a period."
-                RenderText {#text} at (0,0) size 0x0
+                RenderText {#text} at (0,0) size 256x19
+                  text run at (0,0) width 256: "This sentence should not end with a period"
         RenderText {#text} at (0,0) size 0x0
       RenderBlock {UL} at (0,241) size 784x38
         RenderListItem {LI} at (40,0) size 744x19
diff --git a/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.checksum b/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.checksum
index 0ce8a32..96171f0 100644
--- a/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.checksum
+++ b/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.checksum
@@ -1 +1 @@
-99b1869ec4d61313015fd2f3b02f3fdf
\ No newline at end of file
+115b69a91d503965c3ad973065caa022
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.png b/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.png
index 25c4ee0..da325a0 100644
Binary files a/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.png and b/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.png differ
diff --git a/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.txt b/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.txt
index f875d51..4719d40 100644
--- a/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.txt
+++ b/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.txt
@@ -10,69 +10,69 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,0) size 245x19
           text run at (0,0) width 245: "You should not see any red on this page."
       RenderBlock {DIV} at (0,70) size 784x29
-        RenderTextControl {INPUT} at (2,2) size 168x25 [bgcolor=#FFFFFF]
-          RenderBlock {DIV} at (3,3) size 162x19
+        RenderTextControl {INPUT} at (2,2) size 194x25 [bgcolor=#FFFFFF]
+          RenderBlock {DIV} at (3,3) size 188x19
             RenderBlock {DIV} at (0,15) size 0x0
-            RenderBlock {DIV} at (148,1) size 14x14
+            RenderBlock {DIV} at (174,1) size 14x14
         RenderText {#text} at (0,0) size 0x0
       RenderBlock {DIV} at (0,99) size 784x29
-        RenderTextControl {INPUT} at (2,2) size 168x25 [bgcolor=#FFFFFF]
-          RenderBlock {DIV} at (3,3) size 162x19
+        RenderTextControl {INPUT} at (2,2) size 194x25 [bgcolor=#FFFFFF]
+          RenderBlock {DIV} at (3,3) size 188x19
             RenderBlock {DIV} at (0,1) size 14x14
-            RenderBlock {DIV} at (148,1) size 14x14
+            RenderBlock {DIV} at (174,1) size 14x14
         RenderText {#text} at (0,0) size 0x0
       RenderBlock {DIV} at (0,128) size 784x29
-        RenderTextControl {INPUT} at (2,2) size 168x25 [bgcolor=#FFFFFF]
-          RenderBlock {DIV} at (3,3) size 162x19
+        RenderTextControl {INPUT} at (2,2) size 194x25 [bgcolor=#FFFFFF]
+          RenderBlock {DIV} at (3,3) size 188x19
             RenderBlock {DIV} at (0,1) size 14x14
-            RenderBlock {DIV} at (148,1) size 14x14
+            RenderBlock {DIV} at (174,1) size 14x14
         RenderText {#text} at (0,0) size 0x0
-      RenderBlock (anonymous) at (0,157) size 784x36
-        RenderBlock {INPUT} at (4,11) size 15x15
-        RenderText {#text} at (23,9) size 4x19
-          text run at (23,9) width 4: " "
-        RenderBlock {INPUT} at (31,11) size 15x15
-        RenderText {#text} at (50,9) size 4x19
-          text run at (50,9) width 4: " "
-        RenderSlider {INPUT} at (56,10) size 129x14 [bgcolor=#FFFFFF]
+      RenderBlock (anonymous) at (0,157) size 784x37
+        RenderBlock {INPUT} at (4,12) size 15x15
+        RenderText {#text} at (23,10) size 4x19
+          text run at (23,10) width 4: " "
+        RenderBlock {INPUT} at (31,12) size 15x15
+        RenderText {#text} at (50,10) size 4x19
+          text run at (50,10) width 4: " "
+        RenderSlider {INPUT} at (56,11) size 129x14 [bgcolor=#FFFFFF]
           RenderBlock {DIV} at (49,0) size 31x14
-        RenderText {#text} at (187,9) size 4x19
-          text run at (187,9) width 4: " "
-        RenderFileUploadControl {INPUT} at (193,5) size 272x28 "(None)"
-          RenderButton {INPUT} at (0,0) size 89x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-            RenderBlock (anonymous) at (8,4) size 73x19
-              RenderText at (0,0) size 73x19
-                text run at (0,0) width 73: "Choose File"
-        RenderText {#text} at (467,9) size 4x19
-          text run at (467,9) width 4: " "
-        RenderButton {INPUT} at (473,2) size 67x32 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-          RenderBlock (anonymous) at (8,4) size 51x23
-            RenderText at (0,0) size 51x23
-              text run at (0,0) width 51: "Button"
-        RenderText {#text} at (542,9) size 4x19
-          text run at (542,9) width 4: " "
-        RenderButton {INPUT} at (548,5) size 56x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-          RenderBlock (anonymous) at (8,4) size 40x19
-            RenderText at (0,0) size 40x19
-              text run at (0,0) width 40: "Button"
-        RenderText {#text} at (606,9) size 4x19
-          text run at (606,9) width 4: " "
-        RenderButton {INPUT} at (610,15) size 30x16 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderText {#text} at (187,10) size 4x19
+          text run at (187,10) width 4: " "
+        RenderFileUploadControl {INPUT} at (193,6) size 306x28 "(None)"
+          RenderButton {INPUT} at (0,0) size 101x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+            RenderBlock (anonymous) at (8,4) size 85x19
+              RenderText at (0,0) size 85x19
+                text run at (0,0) width 85: "Choose File"
+        RenderText {#text} at (501,10) size 4x19
+          text run at (501,10) width 4: " "
+        RenderButton {INPUT} at (507,2) size 72x33 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+          RenderBlock (anonymous) at (8,4) size 56x24
+            RenderText at (0,0) size 56x24
+              text run at (0,0) width 56: "Button"
+        RenderText {#text} at (581,10) size 4x19
+          text run at (581,10) width 4: " "
+        RenderButton {INPUT} at (587,6) size 60x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+          RenderBlock (anonymous) at (8,4) size 44x19
+            RenderText at (0,0) size 44x19
+              text run at (0,0) width 44: "Button"
+        RenderText {#text} at (649,10) size 4x19
+          text run at (649,10) width 4: " "
+        RenderButton {INPUT} at (653,16) size 30x16 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
           RenderBlock (anonymous) at (8,4) size 14x7
             RenderText at (0,0) size 14x7
               text run at (0,0) width 14: "Button"
-        RenderText {#text} at (640,9) size 4x19
-          text run at (640,9) width 4: " "
-        RenderButton {BUTTON} at (646,2) size 67x32 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-          RenderBlock (anonymous) at (8,4) size 51x23
-            RenderText {#text} at (0,0) size 51x23
-              text run at (0,0) width 51: "Button"
+        RenderText {#text} at (683,10) size 4x19
+          text run at (683,10) width 4: " "
+        RenderButton {BUTTON} at (689,2) size 72x33 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+          RenderBlock (anonymous) at (8,4) size 56x24
+            RenderText {#text} at (0,0) size 56x24
+              text run at (0,0) width 56: "Button"
         RenderText {#text} at (0,0) size 0x0
-layer at (13,83) size 148x19
-  RenderBlock {DIV} at (0,0) size 148x19
-    RenderText {#text} at (1,0) size 42x19
-      text run at (1,0) width 42: "Search"
-layer at (27,112) size 134x19
-  RenderBlock {DIV} at (14,0) size 134x19
-layer at (27,141) size 134x19
-  RenderBlock {DIV} at (14,0) size 134x19
+layer at (13,83) size 174x19
+  RenderBlock {DIV} at (0,0) size 174x19
+    RenderText {#text} at (1,0) size 50x19
+      text run at (1,0) width 50: "Search"
+layer at (27,112) size 160x19
+  RenderBlock {DIV} at (14,0) size 160x19
+layer at (27,141) size 160x19
+  RenderBlock {DIV} at (14,0) size 160x19
diff --git a/LayoutTests/platform/gtk/fast/forms/button-style-color-expected.checksum b/LayoutTests/platform/gtk/fast/forms/button-style-color-expected.checksum
new file mode 100644
index 0000000..7d24be7
--- /dev/null
+++ b/LayoutTests/platform/gtk/fast/forms/button-style-color-expected.checksum
@@ -0,0 +1 @@
+a9277fe1a6fd72abe2efd237fc644c15
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/fast/forms/button-style-color-expected.png b/LayoutTests/platform/gtk/fast/forms/button-style-color-expected.png
new file mode 100644
index 0000000..325c35c
Binary files /dev/null and b/LayoutTests/platform/gtk/fast/forms/button-style-color-expected.png differ
diff --git a/LayoutTests/platform/gtk/fast/forms/button-style-color-expected.txt b/LayoutTests/platform/gtk/fast/forms/button-style-color-expected.txt
index 9ff83e6..5b99e8f 100644
--- a/LayoutTests/platform/gtk/fast/forms/button-style-color-expected.txt
+++ b/LayoutTests/platform/gtk/fast/forms/button-style-color-expected.txt
@@ -3,50 +3,50 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderButton {BUTTON} at (2,2) size 86x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 70x19
-          RenderText {#text} at (0,0) size 70x19
-            text run at (0,0) width 70: "Test Button"
-      RenderText {#text} at (90,6) size 4x19
-        text run at (90,6) width 4: " "
-      RenderButton {BUTTON} at (96,2) size 86x28 [color=#FF0000] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 70x19
-          RenderText {#text} at (0,0) size 70x19
-            text run at (0,0) width 70: "Test Button"
-      RenderText {#text} at (184,6) size 4x19
-        text run at (184,6) width 4: " "
-      RenderButton {BUTTON} at (190,2) size 86x28 [bgcolor=#008000] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 70x19
-          RenderText {#text} at (0,0) size 70x19
-            text run at (0,0) width 70: "Test Button"
-      RenderText {#text} at (278,6) size 4x19
-        text run at (278,6) width 4: " "
-      RenderButton {BUTTON} at (284,2) size 86x28 [color=#FF0000] [bgcolor=#008000] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 70x19
-          RenderText {#text} at (0,0) size 70x19
-            text run at (0,0) width 70: "Test Button"
-      RenderText {#text} at (372,6) size 4x19
-        text run at (372,6) width 4: " "
-      RenderButton {INPUT} at (378,2) size 86x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 70x19
-          RenderText at (0,0) size 70x19
-            text run at (0,0) width 70: "Test Button"
-      RenderText {#text} at (466,6) size 4x19
-        text run at (466,6) width 4: " "
-      RenderButton {INPUT} at (472,2) size 86x28 [color=#FF0000] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 70x19
-          RenderText at (0,0) size 70x19
-            text run at (0,0) width 70: "Test Button"
-      RenderText {#text} at (560,6) size 4x19
-        text run at (560,6) width 4: " "
-      RenderButton {INPUT} at (566,2) size 86x28 [bgcolor=#008000] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 70x19
-          RenderText at (0,0) size 70x19
-            text run at (0,0) width 70: "Test Button"
-      RenderText {#text} at (654,6) size 4x19
-        text run at (654,6) width 4: " "
-      RenderButton {INPUT} at (660,2) size 86x28 [color=#FF0000] [bgcolor=#008000] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 70x19
-          RenderText at (0,0) size 70x19
-            text run at (0,0) width 70: "Test Button"
+      RenderButton {BUTTON} at (2,2) size 94x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 78x19
+          RenderText {#text} at (0,0) size 78x19
+            text run at (0,0) width 78: "Test Button"
+      RenderText {#text} at (98,6) size 4x19
+        text run at (98,6) width 4: " "
+      RenderButton {BUTTON} at (104,2) size 94x28 [color=#FF0000] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 78x19
+          RenderText {#text} at (0,0) size 78x19
+            text run at (0,0) width 78: "Test Button"
+      RenderText {#text} at (200,6) size 4x19
+        text run at (200,6) width 4: " "
+      RenderButton {BUTTON} at (206,2) size 94x28 [bgcolor=#008000] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 78x19
+          RenderText {#text} at (0,0) size 78x19
+            text run at (0,0) width 78: "Test Button"
+      RenderText {#text} at (302,6) size 4x19
+        text run at (302,6) width 4: " "
+      RenderButton {BUTTON} at (308,2) size 94x28 [color=#FF0000] [bgcolor=#008000] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 78x19
+          RenderText {#text} at (0,0) size 78x19
+            text run at (0,0) width 78: "Test Button"
+      RenderText {#text} at (404,6) size 4x19
+        text run at (404,6) width 4: " "
+      RenderButton {INPUT} at (410,2) size 94x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 78x19
+          RenderText at (0,0) size 78x19
+            text run at (0,0) width 78: "Test Button"
+      RenderText {#text} at (506,6) size 4x19
+        text run at (506,6) width 4: " "
+      RenderButton {INPUT} at (512,2) size 94x28 [color=#FF0000] [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 78x19
+          RenderText at (0,0) size 78x19
+            text run at (0,0) width 78: "Test Button"
+      RenderText {#text} at (608,6) size 4x19
+        text run at (608,6) width 4: " "
+      RenderButton {INPUT} at (614,2) size 94x28 [bgcolor=#008000] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 78x19
+          RenderText at (0,0) size 78x19
+            text run at (0,0) width 78: "Test Button"
+      RenderText {#text} at (710,6) size 4x19
+        text run at (710,6) width 4: " "
+      RenderButton {INPUT} at (2,34) size 94x28 [color=#FF0000] [bgcolor=#008000] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 78x19
+          RenderText at (0,0) size 78x19
+            text run at (0,0) width 78: "Test Button"
       RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.checksum b/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.checksum
index e412d73..99f71e1 100644
--- a/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.checksum
+++ b/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.checksum
@@ -1 +1 @@
-48cae25598f5f6afdb75ddc7bb34fd95
\ No newline at end of file
+07e9f33c9569f28e75e4f7830590e982
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.png b/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.png
index a14c4cf..22b3569 100644
Binary files a/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.png and b/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.png differ
diff --git a/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.txt b/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.txt
index 7b4db9d..883a36c 100644
--- a/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.txt
+++ b/LayoutTests/platform/gtk/fast/forms/input-button-sizes-expected.txt
@@ -3,104 +3,104 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderButton {INPUT} at (0,11) size 39x16 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 23x7
-          RenderText at (0,0) size 23x7
-            text run at (0,0) width 23: "Test Button"
-      RenderText {#text} at (39,5) size 4x19
-        text run at (39,5) width 4: " "
-      RenderButton {INPUT} at (43,10) size 46x17 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 30x8
-          RenderText at (0,0) size 30x8
-            text run at (0,0) width 30: "Test Button"
-      RenderText {#text} at (89,5) size 4x19
-        text run at (89,5) width 4: " "
-      RenderButton {INPUT} at (93,9) size 51x18 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 35x9
-          RenderText at (0,0) size 35x9
-            text run at (0,0) width 35: "Test Button"
-      RenderText {#text} at (144,5) size 4x19
-        text run at (144,5) width 4: " "
-      RenderButton {INPUT} at (148,8) size 53x19 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 37x10
-          RenderText at (0,0) size 37x10
-            text run at (0,0) width 37: "Test Button"
-      RenderText {#text} at (201,5) size 4x19
-        text run at (201,5) width 4: " "
-      RenderButton {INPUT} at (205,7) size 61x20 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 45x11
-          RenderText at (0,0) size 45x11
-            text run at (0,0) width 45: "Test Button"
-      RenderText {#text} at (266,5) size 4x19
-        text run at (266,5) width 4: " "
-      RenderButton {INPUT} at (270,7) size 65x21 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 49x12
-          RenderText at (0,0) size 49x12
-            text run at (0,0) width 49: "Test Button"
-      RenderText {#text} at (335,5) size 4x19
-        text run at (335,5) width 4: " "
-      RenderButton {INPUT} at (341,6) size 72x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 56x13
-          RenderText at (0,0) size 56x13
-            text run at (0,0) width 56: "Test Button"
-      RenderText {#text} at (415,5) size 4x19
-        text run at (415,5) width 4: " "
-      RenderButton {INPUT} at (421,5) size 75x23 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 59x14
-          RenderText at (0,0) size 59x14
-            text run at (0,0) width 59: "Test Button"
-      RenderText {#text} at (498,5) size 4x19
-        text run at (498,5) width 4: " "
-      RenderButton {INPUT} at (504,4) size 80x24 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 64x15
-          RenderText at (0,0) size 64x15
-            text run at (0,0) width 64: "Test Button"
-      RenderText {#text} at (586,5) size 4x19
-        text run at (586,5) width 4: " "
-      RenderButton {INPUT} at (592,3) size 82x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 66x17
-          RenderText at (0,0) size 66x17
-            text run at (0,0) width 66: "Test Button"
-      RenderText {#text} at (676,5) size 4x19
-        text run at (676,5) width 4: " "
-      RenderButton {INPUT} at (682,2) size 85x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 69x18
-          RenderText at (0,0) size 69x18
-            text run at (0,0) width 69: "Test Button"
-      RenderText {#text} at (769,5) size 4x19
-        text run at (769,5) width 4: " "
-      RenderButton {INPUT} at (2,37) size 86x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 70x19
-          RenderText at (0,0) size 70x19
-            text run at (0,0) width 70: "Test Button"
-      RenderText {#text} at (90,41) size 4x19
-        text run at (90,41) width 4: " "
-      RenderButton {INPUT} at (96,36) size 95x29 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 79x20
-          RenderText at (0,0) size 79x20
-            text run at (0,0) width 79: "Test Button"
-      RenderText {#text} at (193,41) size 4x19
-        text run at (193,41) width 4: " "
-      RenderButton {INPUT} at (199,35) size 102x30 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 86x21
-          RenderText at (0,0) size 86x21
-            text run at (0,0) width 86: "Test Button"
-      RenderText {#text} at (303,41) size 4x19
-        text run at (303,41) width 4: " "
-      RenderButton {INPUT} at (309,35) size 104x31 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 88x22
-          RenderText at (0,0) size 88x22
-            text run at (0,0) width 88: "Test Button"
-      RenderText {#text} at (415,41) size 4x19
-        text run at (415,41) width 4: " "
-      RenderButton {INPUT} at (421,34) size 106x32 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 90x23
-          RenderText at (0,0) size 90x23
-            text run at (0,0) width 90: "Test Button"
-      RenderText {#text} at (529,41) size 4x19
-        text run at (529,41) width 4: " "
-      RenderButton {INPUT} at (535,33) size 114x33 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-        RenderBlock (anonymous) at (8,4) size 98x24
-          RenderText at (0,0) size 98x24
-            text run at (0,0) width 98: "Test Button"
+      RenderButton {INPUT} at (0,10) size 41x16 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 25x7
+          RenderText at (0,0) size 25x7
+            text run at (0,0) width 25: "Test Button"
+      RenderText {#text} at (41,4) size 4x19
+        text run at (41,4) width 4: " "
+      RenderButton {INPUT} at (45,9) size 47x17 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 31x8
+          RenderText at (0,0) size 31x8
+            text run at (0,0) width 31: "Test Button"
+      RenderText {#text} at (92,4) size 4x19
+        text run at (92,4) width 4: " "
+      RenderButton {INPUT} at (96,8) size 54x18 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 38x9
+          RenderText at (0,0) size 38x9
+            text run at (0,0) width 38: "Test Button"
+      RenderText {#text} at (150,4) size 4x19
+        text run at (150,4) width 4: " "
+      RenderButton {INPUT} at (154,7) size 54x19 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 38x10
+          RenderText at (0,0) size 38x10
+            text run at (0,0) width 38: "Test Button"
+      RenderText {#text} at (208,4) size 4x19
+        text run at (208,4) width 4: " "
+      RenderButton {INPUT} at (212,6) size 64x20 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 48x11
+          RenderText at (0,0) size 48x11
+            text run at (0,0) width 48: "Test Button"
+      RenderText {#text} at (276,4) size 4x19
+        text run at (276,4) width 4: " "
+      RenderButton {INPUT} at (280,5) size 70x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 54x13
+          RenderText at (0,0) size 54x13
+            text run at (0,0) width 54: "Test Button"
+      RenderText {#text} at (350,4) size 4x19
+        text run at (350,4) width 4: " "
+      RenderButton {INPUT} at (356,5) size 71x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 55x13
+          RenderText at (0,0) size 55x13
+            text run at (0,0) width 55: "Test Button"
+      RenderText {#text} at (429,4) size 4x19
+        text run at (429,4) width 4: " "
+      RenderButton {INPUT} at (435,4) size 78x23 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 62x14
+          RenderText at (0,0) size 62x14
+            text run at (0,0) width 62: "Test Button"
+      RenderText {#text} at (515,4) size 4x19
+        text run at (515,4) width 4: " "
+      RenderButton {INPUT} at (521,3) size 83x24 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 67x15
+          RenderText at (0,0) size 67x15
+            text run at (0,0) width 67: "Test Button"
+      RenderText {#text} at (606,4) size 4x19
+        text run at (606,4) width 4: " "
+      RenderButton {INPUT} at (612,2) size 89x25 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 73x16
+          RenderText at (0,0) size 73x16
+            text run at (0,0) width 73: "Test Button"
+      RenderText {#text} at (703,4) size 4x19
+        text run at (703,4) width 4: " "
+      RenderButton {INPUT} at (2,36) size 91x27 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 75x18
+          RenderText at (0,0) size 75x18
+            text run at (0,0) width 75: "Test Button"
+      RenderText {#text} at (95,39) size 4x19
+        text run at (95,39) width 4: " "
+      RenderButton {INPUT} at (101,35) size 94x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 78x19
+          RenderText at (0,0) size 78x19
+            text run at (0,0) width 78: "Test Button"
+      RenderText {#text} at (197,39) size 4x19
+        text run at (197,39) width 4: " "
+      RenderButton {INPUT} at (203,34) size 97x29 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 81x20
+          RenderText at (0,0) size 81x20
+            text run at (0,0) width 81: "Test Button"
+      RenderText {#text} at (302,39) size 4x19
+        text run at (302,39) width 4: " "
+      RenderButton {INPUT} at (308,33) size 109x30 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 93x21
+          RenderText at (0,0) size 93x21
+            text run at (0,0) width 93: "Test Button"
+      RenderText {#text} at (419,39) size 4x19
+        text run at (419,39) width 4: " "
+      RenderButton {INPUT} at (425,32) size 113x32 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 97x23
+          RenderText at (0,0) size 97x23
+            text run at (0,0) width 97: "Test Button"
+      RenderText {#text} at (540,39) size 4x19
+        text run at (540,39) width 4: " "
+      RenderButton {INPUT} at (546,31) size 117x33 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 101x24
+          RenderText at (0,0) size 101x24
+            text run at (0,0) width 101: "Test Button"
+      RenderText {#text} at (665,39) size 4x19
+        text run at (665,39) width 4: " "
+      RenderButton {INPUT} at (2,68) size 123x34 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        RenderBlock (anonymous) at (8,4) size 107x25
+          RenderText at (0,0) size 107x25
+            text run at (0,0) width 107: "Test Button"
       RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.checksum b/LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.checksum
new file mode 100644
index 0000000..cbc07df
--- /dev/null
+++ b/LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.checksum
@@ -0,0 +1 @@
+70ead8dd93314c4948e75646a04214fa
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.png b/LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.png
new file mode 100644
index 0000000..b666338
Binary files /dev/null and b/LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.png differ
diff --git a/LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.txt b/LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.txt
index 70f8e26..9ce4721 100644
--- a/LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.txt
+++ b/LayoutTests/platform/gtk/fast/forms/input-text-drag-down-expected.txt
@@ -4,14 +4,14 @@ layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
       RenderBlock (anonymous) at (0,0) size 784x29
-        RenderTextControl {INPUT} at (2,2) size 168x25 [bgcolor=#FFFFFF]
+        RenderTextControl {INPUT} at (2,2) size 194x25 [bgcolor=#FFFFFF]
         RenderText {#text} at (0,0) size 0x0
       RenderBlock {P} at (0,45) size 784x19
         RenderText {#text} at (0,0) size 704x19
           text run at (0,0) width 704: "Tests drag-selecting down. If the test succeeds, the text from the center to the end of the text field should be selected."
-layer at (13,13) size 162x19
-  RenderBlock {DIV} at (3,3) size 162x19
-    RenderText {#text} at (1,0) size 135x19
-      text run at (1,0) width 135: "This is a bunch of text."
-selection start: position 7 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
+layer at (13,13) size 188x19
+  RenderBlock {DIV} at (3,3) size 188x19
+    RenderText {#text} at (1,0) size 152x19
+      text run at (1,0) width 152: "This is a bunch of text."
+selection start: position 5 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
 selection end:   position 24 of child 0 {#text} of child 0 {DIV} of child 0 {INPUT} of body
diff --git a/LayoutTests/platform/gtk/fast/forms/placeholder-stripped-expected.checksum b/LayoutTests/platform/gtk/fast/forms/placeholder-stripped-expected.checksum
new file mode 100644
index 0000000..45997b0
--- /dev/null
+++ b/LayoutTests/platform/gtk/fast/forms/placeholder-stripped-expected.checksum
@@ -0,0 +1 @@
+cd8e469a47f61562f314febe459a97cb
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/fast/forms/placeholder-stripped-expected.png b/LayoutTests/platform/gtk/fast/forms/placeholder-stripped-expected.png
new file mode 100644
index 0000000..ffab379
Binary files /dev/null and b/LayoutTests/platform/gtk/fast/forms/placeholder-stripped-expected.png differ
diff --git a/LayoutTests/platform/gtk/fast/forms/placeholder-stripped-expected.txt b/LayoutTests/platform/gtk/fast/forms/placeholder-stripped-expected.txt
index 82acc3f..bdcf539 100644
--- a/LayoutTests/platform/gtk/fast/forms/placeholder-stripped-expected.txt
+++ b/LayoutTests/platform/gtk/fast/forms/placeholder-stripped-expected.txt
@@ -8,23 +8,23 @@ layer at (0,0) size 800x240
           text run at (0,0) width 715: "CR and LF in placeholder values should be stripped. The first input element and the first textarea element should have a"
           text run at (0,19) width 706: "placeholder \"first line second line\", and the second input element and the second textarea element should have nothing."
       RenderBlock (anonymous) at (0,54) size 784x162
-        RenderTextControl {INPUT} at (2,2) size 168x25 [bgcolor=#FFFFFF]
-        RenderBR {BR} at (172,5) size 0x19
-        RenderTextControl {INPUT} at (2,31) size 168x25 [bgcolor=#FFFFFF]
-        RenderBR {BR} at (172,34) size 0x19
-        RenderBR {BR} at (186,91) size 0x19
+        RenderTextControl {INPUT} at (2,2) size 194x25 [bgcolor=#FFFFFF]
+        RenderBR {BR} at (198,5) size 0x19
+        RenderTextControl {INPUT} at (2,31) size 194x25 [bgcolor=#FFFFFF]
+        RenderBR {BR} at (198,34) size 0x19
+        RenderBR {BR} at (206,91) size 0x19
         RenderText {#text} at (0,0) size 0x0
-layer at (13,75) size 162x19
-  RenderBlock {DIV} at (3,3) size 162x19 [color=#A9A9A9]
-    RenderText {#text} at (1,0) size 117x19
-      text run at (1,0) width 117: "first line second line"
-layer at (13,104) size 162x19
-  RenderBlock {DIV} at (3,3) size 162x19
-layer at (10,130) size 182x44 clip at (11,131) size 180x42
-  RenderTextControl {TEXTAREA} at (2,60) size 182x44 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-    RenderBlock {DIV} at (3,3) size 176x19 [color=#A9A9A9]
-      RenderText {#text} at (0,0) size 117x19
-        text run at (0,0) width 117: "first line second line"
-layer at (10,182) size 182x44 clip at (11,183) size 180x42
-  RenderTextControl {TEXTAREA} at (2,112) size 182x44 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
-    RenderBlock {DIV} at (3,3) size 176x19
+layer at (13,75) size 188x19
+  RenderBlock {DIV} at (3,3) size 188x19 [color=#A9A9A9]
+    RenderText {#text} at (1,0) size 136x19
+      text run at (1,0) width 136: "first line second line"
+layer at (13,104) size 188x19
+  RenderBlock {DIV} at (3,3) size 188x19
+layer at (10,130) size 202x44 clip at (11,131) size 200x42
+  RenderTextControl {TEXTAREA} at (2,60) size 202x44 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+    RenderBlock {DIV} at (3,3) size 196x19 [color=#A9A9A9]
+      RenderText {#text} at (0,0) size 136x19
+        text run at (0,0) width 136: "first line second line"
+layer at (10,182) size 202x44 clip at (11,183) size 200x42
+  RenderTextControl {TEXTAREA} at (2,112) size 202x44 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+    RenderBlock {DIV} at (3,3) size 196x19
diff --git a/LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.checksum b/LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.checksum
new file mode 100644
index 0000000..37f4d84
--- /dev/null
+++ b/LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.checksum
@@ -0,0 +1 @@
+dc22ef478ff734faaf983468a04f9037
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.png b/LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.png
new file mode 100644
index 0000000..b778611
Binary files /dev/null and b/LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.png differ
diff --git a/LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.txt b/LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.txt
index 85ab22d..f2072db 100644
--- a/LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.txt
+++ b/LayoutTests/platform/gtk/fast/frames/take-focus-from-iframe-expected.txt
@@ -5,21 +5,21 @@ layer at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x576
       RenderBlock (anonymous) at (0,0) size 784x44
         RenderPartObject {IFRAME} at (0,0) size 204x44 [border: (2px inset #000000)]
-          layer at (0,0) size 184x45
-            RenderView at (0,0) size 184x40
-          layer at (0,0) size 184x45
+          layer at (0,0) size 206x45
+            RenderView at (0,0) size 184x24
+          layer at (0,0) size 206x45
             RenderBlock {HTML} at (0,0) size 184x45
               RenderBody {BODY} at (8,8) size 168x29
-                RenderTextControl {INPUT} at (2,2) size 168x25 [bgcolor=#FFFFFF]
-          layer at (13,13) size 162x19
-            RenderBlock {DIV} at (3,3) size 162x19
+                RenderTextControl {INPUT} at (2,2) size 194x25 [bgcolor=#FFFFFF]
+          layer at (13,13) size 188x19
+            RenderBlock {DIV} at (3,3) size 188x19
         RenderText {#text} at (0,0) size 0x0
       RenderBlock {P} at (0,60) size 784x29
         RenderText {#text} at (0,5) size 346x19
           text run at (0,5) width 346: "This field should look and act focused. Try to type into it: "
-        RenderTextControl {INPUT} at (348,2) size 168x25 [bgcolor=#FFFFFF]
-layer at (359,73) size 162x19
-  RenderBlock {DIV} at (3,3) size 162x19
-    RenderText {#text} at (1,0) size 38x19
-      text run at (1,0) width 38: "PASS"
+        RenderTextControl {INPUT} at (348,2) size 194x25 [bgcolor=#FFFFFF]
+layer at (359,73) size 188x19
+  RenderBlock {DIV} at (3,3) size 188x19
+    RenderText {#text} at (1,0) size 44x19
+      text run at (1,0) width 44: "PASS"
 caret: position 4 of child 0 {#text} of child 0 {DIV} of child 1 {INPUT} of child 3 {P} of body
diff --git a/LayoutTests/platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.checksum b/LayoutTests/platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.checksum
new file mode 100644
index 0000000..5d1cede
--- /dev/null
+++ b/LayoutTests/platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.checksum
@@ -0,0 +1 @@
+3c2beb024c7c3455aaf92092c4c2926c
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.png b/LayoutTests/platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.png
new file mode 100644
index 0000000..a09b717
Binary files /dev/null and b/LayoutTests/platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.png differ
diff --git a/LayoutTests/platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.txt b/LayoutTests/platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.txt
index 88624cc..fe966b8 100644
--- a/LayoutTests/platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.txt
+++ b/LayoutTests/platform/gtk/fast/text/backslash-to-yen-sign-euc-expected.txt
@@ -261,95 +261,95 @@ layer at (0,0) size 781x738
           RenderText {#text} at (350,0) size 4x19
             text run at (350,0) width 4: "\\"
       RenderBlock {DIV} at (0,380) size 765x19
-        RenderInline {SPAN} at (0,0) size 311x19
-          RenderText {#text} at (0,0) size 295x19
-            text run at (0,0) width 295: "Using font \"caption\". expected: yen sign, actual: \x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (295,0) size 8x19
-              text run at (295,0) width 8: "\x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (303,0) size 8x19
-              text run at (303,0) width 8: "\x{A5}"
+        RenderInline {SPAN} at (0,0) size 357x19
+          RenderText {#text} at (0,0) size 339x19
+            text run at (0,0) width 339: "Using font \"caption\". expected: yen sign, actual: \x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (339,0) size 9x19
+              text run at (339,0) width 9: "\x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (348,0) size 9x19
+              text run at (348,0) width 9: "\x{A5}"
       RenderBlock {DIV} at (0,399) size 765x19
-        RenderInline {SPAN} at (0,0) size 292x19
-          RenderText {#text} at (0,0) size 276x19
-            text run at (0,0) width 276: "Using font \"icon\". expected: yen sign, actual: \x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (276,0) size 8x19
-              text run at (276,0) width 8: "\x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (284,0) size 8x19
-              text run at (284,0) width 8: "\x{A5}"
+        RenderInline {SPAN} at (0,0) size 335x19
+          RenderText {#text} at (0,0) size 317x19
+            text run at (0,0) width 317: "Using font \"icon\". expected: yen sign, actual: \x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (317,0) size 9x19
+              text run at (317,0) width 9: "\x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (326,0) size 9x19
+              text run at (326,0) width 9: "\x{A5}"
       RenderBlock {DIV} at (0,418) size 765x19
-        RenderInline {SPAN} at (0,0) size 299x19
-          RenderText {#text} at (0,0) size 283x19
-            text run at (0,0) width 283: "Using font \"menu\". expected: yen sign, actual: \x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (283,0) size 8x19
-              text run at (283,0) width 8: "\x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (291,0) size 8x19
-              text run at (291,0) width 8: "\x{A5}"
+        RenderInline {SPAN} at (0,0) size 344x19
+          RenderText {#text} at (0,0) size 326x19
+            text run at (0,0) width 326: "Using font \"menu\". expected: yen sign, actual: \x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (326,0) size 9x19
+              text run at (326,0) width 9: "\x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (335,0) size 9x19
+              text run at (335,0) width 9: "\x{A5}"
       RenderBlock {DIV} at (0,437) size 765x19
-        RenderInline {SPAN} at (0,0) size 347x19
-          RenderText {#text} at (0,0) size 331x19
-            text run at (0,0) width 331: "Using font \"message-box\". expected: yen sign, actual: \x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (331,0) size 8x19
-              text run at (331,0) width 8: "\x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (339,0) size 8x19
-              text run at (339,0) width 8: "\x{A5}"
+        RenderInline {SPAN} at (0,0) size 401x19
+          RenderText {#text} at (0,0) size 383x19
+            text run at (0,0) width 383: "Using font \"message-box\". expected: yen sign, actual: \x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (383,0) size 9x19
+              text run at (383,0) width 9: "\x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (392,0) size 9x19
+              text run at (392,0) width 9: "\x{A5}"
       RenderBlock {DIV} at (0,456) size 765x19
-        RenderInline {SPAN} at (0,0) size 347x19
-          RenderText {#text} at (0,0) size 331x19
-            text run at (0,0) width 331: "Using font \"small-caption\". expected: yen sign, actual: \x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (331,0) size 8x19
-              text run at (331,0) width 8: "\x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (339,0) size 8x19
-              text run at (339,0) width 8: "\x{A5}"
+        RenderInline {SPAN} at (0,0) size 398x19
+          RenderText {#text} at (0,0) size 380x19
+            text run at (0,0) width 380: "Using font \"small-caption\". expected: yen sign, actual: \x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (380,0) size 9x19
+              text run at (380,0) width 9: "\x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (389,0) size 9x19
+              text run at (389,0) width 9: "\x{A5}"
       RenderBlock {DIV} at (0,475) size 765x19
-        RenderInline {SPAN} at (0,0) size 327x19
-          RenderText {#text} at (0,0) size 311x19
-            text run at (0,0) width 311: "Using font \"status-bar\". expected: yen sign, actual: \x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (311,0) size 8x19
-              text run at (311,0) width 8: "\x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (319,0) size 8x19
-              text run at (319,0) width 8: "\x{A5}"
+        RenderInline {SPAN} at (0,0) size 375x19
+          RenderText {#text} at (0,0) size 357x19
+            text run at (0,0) width 357: "Using font \"status-bar\". expected: yen sign, actual: \x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (357,0) size 9x19
+              text run at (357,0) width 9: "\x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (366,0) size 9x19
+              text run at (366,0) width 9: "\x{A5}"
       RenderBlock {DIV} at (0,494) size 765x19
-        RenderInline {SPAN} at (0,0) size 392x19
-          RenderText {#text} at (0,0) size 376x19
-            text run at (0,0) width 376: "Using font \"-webkit-mini-control\". expected: yen sign, actual: \x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (376,0) size 8x19
-              text run at (376,0) width 8: "\x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (384,0) size 8x19
-              text run at (384,0) width 8: "\x{A5}"
+        RenderInline {SPAN} at (0,0) size 441x19
+          RenderText {#text} at (0,0) size 423x19
+            text run at (0,0) width 423: "Using font \"-webkit-mini-control\". expected: yen sign, actual: \x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (423,0) size 9x19
+              text run at (423,0) width 9: "\x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (432,0) size 9x19
+              text run at (432,0) width 9: "\x{A5}"
       RenderBlock {DIV} at (0,513) size 765x19
-        RenderInline {SPAN} at (0,0) size 398x19
-          RenderText {#text} at (0,0) size 382x19
-            text run at (0,0) width 382: "Using font \"-webkit-small-control\". expected: yen sign, actual: \x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (382,0) size 8x19
-              text run at (382,0) width 8: "\x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (390,0) size 8x19
-              text run at (390,0) width 8: "\x{A5}"
+        RenderInline {SPAN} at (0,0) size 448x19
+          RenderText {#text} at (0,0) size 430x19
+            text run at (0,0) width 430: "Using font \"-webkit-small-control\". expected: yen sign, actual: \x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (430,0) size 9x19
+              text run at (430,0) width 9: "\x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (439,0) size 9x19
+              text run at (439,0) width 9: "\x{A5}"
       RenderBlock {DIV} at (0,532) size 765x19
-        RenderInline {SPAN} at (0,0) size 362x19
-          RenderText {#text} at (0,0) size 346x19
-            text run at (0,0) width 346: "Using font \"-webkit-control\". expected: yen sign, actual: \x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (346,0) size 8x19
-              text run at (346,0) width 8: "\x{A5}"
-          RenderInline {SPAN} at (0,0) size 8x19
-            RenderText {#text} at (354,0) size 8x19
-              text run at (354,0) width 8: "\x{A5}"
+        RenderInline {SPAN} at (0,0) size 407x19
+          RenderText {#text} at (0,0) size 389x19
+            text run at (0,0) width 389: "Using font \"-webkit-control\". expected: yen sign, actual: \x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (389,0) size 9x19
+              text run at (389,0) width 9: "\x{A5}"
+          RenderInline {SPAN} at (0,0) size 9x19
+            RenderText {#text} at (398,0) size 9x19
+              text run at (398,0) width 9: "\x{A5}"
       RenderBlock {DIV} at (0,551) size 765x19
         RenderInline {SPAN} at (0,0) size 378x19
           RenderText {#text} at (0,0) size 362x19
diff --git a/LayoutTests/platform/gtk/transforms/2d/zoom-menulist-expected.checksum b/LayoutTests/platform/gtk/transforms/2d/zoom-menulist-expected.checksum
new file mode 100644
index 0000000..0fe6f81
--- /dev/null
+++ b/LayoutTests/platform/gtk/transforms/2d/zoom-menulist-expected.checksum
@@ -0,0 +1 @@
+7e096ea3d6ced617e3b371f2ffe97355
\ No newline at end of file
diff --git a/LayoutTests/platform/gtk/transforms/2d/zoom-menulist-expected.png b/LayoutTests/platform/gtk/transforms/2d/zoom-menulist-expected.png
new file mode 100644
index 0000000..46ebba2
Binary files /dev/null and b/LayoutTests/platform/gtk/transforms/2d/zoom-menulist-expected.png differ
diff --git a/LayoutTests/platform/gtk/transforms/2d/zoom-menulist-expected.txt b/LayoutTests/platform/gtk/transforms/2d/zoom-menulist-expected.txt
index 7e3da59..25956a5 100644
--- a/LayoutTests/platform/gtk/transforms/2d/zoom-menulist-expected.txt
+++ b/LayoutTests/platform/gtk/transforms/2d/zoom-menulist-expected.txt
@@ -7,8 +7,8 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,0) size 273x36
           text run at (0,0) width 273: "Zooming Menu List"
       RenderBlock (anonymous) at (0,58) size 784x73
-        RenderMenuList {SELECT} at (6,6) size 133x61 [bgcolor=#FFFFFF]
-          RenderBlock (anonymous) at (3,3) size 110x55
-            RenderText at (0,0) size 79x54
-              text run at (0,0) width 79: "One"
+        RenderMenuList {SELECT} at (6,6) size 148x61 [bgcolor=#FFFFFF]
+          RenderBlock (anonymous) at (3,3) size 125x55
+            RenderText at (0,0) size 91x55
+              text run at (0,0) width 91: "One"
         RenderText {#text} at (0,0) size 0x0
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 391d4b7..bae78e5 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2010-10-08  Martin Robinson  <mrobinson at igalia.com>
+
+        Reviewed by Xan Lopez.
+
+        [GTK] Form controls do not respect GTK+ font size
+        https://bugs.webkit.org/show_bug.cgi?id=47134
+
+        Have form controls use the font specified in GtkSettings. This font is
+        the default control font in GTK+ applications and Firefox. We need to
+        pass the string through Pango to get a valid font name and size.
+
+        * platform/gtk/RenderThemeGtk.cpp:
+        (WebCore::getScreenDPI): A helper function which returns
+        the DPI of the default screen or 96 as a fallback.
+        (WebCore::RenderThemeGtk::systemFont): Calculate the system font
+        by looking at the GtkSettings value and pushing it through Pango
+        to get the font family and font size.
+
 2010-10-14  Andreas Kling  <kling at webkit.org>
 
         Soup buildfix for r69808: add ProxyServer stub.
diff --git a/WebCore/platform/gtk/RenderThemeGtk.cpp b/WebCore/platform/gtk/RenderThemeGtk.cpp
index 7877f28..b40be5b 100644
--- a/WebCore/platform/gtk/RenderThemeGtk.cpp
+++ b/WebCore/platform/gtk/RenderThemeGtk.cpp
@@ -671,10 +671,46 @@ double RenderThemeGtk::caretBlinkInterval() const
     return time / 2000.;
 }
 
-void RenderThemeGtk::systemFont(int, FontDescription&) const
+static double getScreenDPI()
 {
-    // If you remove this notImplemented(), replace it with an comment that explains why.
-    notImplemented();
+    // FIXME: Really this should be the widget's screen.
+    GdkScreen* screen = gdk_screen_get_default();
+    if (!screen)
+        return 96; // Default to 96 DPI.
+
+    float dpi = gdk_screen_get_resolution(screen);
+    if (dpi <= 0)
+        return 96;
+    return dpi;
+}
+
+void RenderThemeGtk::systemFont(int, FontDescription& fontDescription) const
+{
+    GtkSettings* settings = gtk_settings_get_default();
+    if (!settings)
+        return;
+
+    // This will be a font selection string like "Sans 10" so we cannot use it as the family name.
+    GOwnPtr<gchar> fontName;
+    g_object_get(settings, "gtk-font-name", &fontName.outPtr(), NULL);
+
+    PangoFontDescription* pangoDescription = pango_font_description_from_string(fontName.get());
+    if (!pangoDescription)
+        return;
+
+    fontDescription.firstFamily().setFamily(pango_font_description_get_family(pangoDescription));
+
+    int size = pango_font_description_get_size(pangoDescription) / PANGO_SCALE;
+    // If the size of the font is in points, we need to convert it to pixels.
+    if (!pango_font_description_get_size_is_absolute(pangoDescription))
+        size = size * (getScreenDPI() / 72.0);
+
+    fontDescription.setSpecifiedSize(size);
+    fontDescription.setIsAbsoluteSize(true);
+    fontDescription.setGenericFamily(FontDescription::NoFamily);
+    fontDescription.setWeight(FontWeightNormal);
+    fontDescription.setItalic(false);
+    pango_font_description_free(pangoDescription);
 }
 
 Color RenderThemeGtk::systemColor(int cssValueId) const
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index e95b223..1f42c86 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,14 @@
+2010-10-08  Martin Robinson  <mrobinson at igalia.com>
+
+        Reviewed by Xan Lopez.
+
+        [GTK] Form controls do not respect GTK+ font size
+        https://bugs.webkit.org/show_bug.cgi?id=47134
+
+        * DumpRenderTree/gtk/DumpRenderTree.cpp:
+        (initializeGtkFontSettings): Initialize the font control size when running
+        DumpRenderTree to a standard value.
+
 2010-10-14  Tony Chang  <tony at chromium.org>
 
         Reviewed by Kent Tamura.
diff --git a/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp b/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
index 7612b09..00ed2f1 100644
--- a/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/DumpRenderTree.cpp
@@ -139,6 +139,7 @@ static void initializeGtkFontSettings(const char* testURL)
     g_object_set(settings, "gtk-xft-antialias", 1, NULL);
     g_object_set(settings, "gtk-xft-hinting", 1, NULL);
     g_object_set(settings, "gtk-xft-hintstyle", "hintfull", NULL);
+    g_object_set(settings, "gtk-font-name", "Liberation Sans 16", NULL);
 
     // One test needs subpixel anti-aliasing turned on, but generally we
     // want all text in other tests to use to grayscale anti-aliasing.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list